Lines Matching refs:uf
376 struct unr *up, *uf, *us;
386 TAILQ_FOREACH(uf, &uh->head, list) {
387 if (uf->len >= NBITS)
390 if (is_bitmap(uh, uf))
392 l = uf->len;
393 up = uf;
407 us = uf;
419 uf = TAILQ_NEXT(us, list);
431 if (!is_bitmap(uh, uf)) {
432 if (uf->ptr == NULL) {
433 bit_nclear(ub->map, a, a + uf->len - 1);
435 bit_nset(ub->map, a, a + uf->len - 1);
436 ub->busy += uf->len;
438 uf->ptr = ub;
439 uf->len += a;
440 us = uf;
442 ubf = uf->ptr;
443 for (l = 0; l < uf->len; l++, a++) {
451 uf->len = a;
452 delete_unr(uh, uf->ptr);
453 uf->ptr = ub;
454 us = uf;
459 uf = TAILQ_NEXT(us, list);
460 if (uf == NULL)
462 if (uf->len + us->len > NBITS)
464 if (uf->ptr == NULL) {
465 bit_nclear(ub->map, us->len, us->len + uf->len - 1);
466 us->len += uf->len;
467 TAILQ_REMOVE(&uh->head, uf, list);
468 delete_unr(uh, uf);
469 } else if (uf->ptr == uh) {
470 bit_nset(ub->map, us->len, us->len + uf->len - 1);
471 ub->busy += uf->len;
472 us->len += uf->len;
473 TAILQ_REMOVE(&uh->head, uf, list);
474 delete_unr(uh, uf);
476 ubf = uf->ptr;
477 for (l = 0; l < uf->len; l++, us->len++) {
485 TAILQ_REMOVE(&uh->head, uf, list);
487 delete_unr(uh, uf);