Lines Matching refs:count

117 				alist_blk_t start, alist_blk_t count);
119 alist_blk_t start, alist_blk_t count,
122 alist_blk_t count);
124 alist_blk_t count, alist_blk_t radix,
128 alist_blk_t count);
241 alist_alloc(alist_t bl, alist_blk_t start, alist_blk_t count) in alist_alloc() argument
248 KKASSERT(count); in alist_alloc()
249 if ((count | (count - 1)) != (count << 1) - 1) { in alist_alloc()
250 alist_blk_t ncount = (count < 256) ? 1 : 256; in alist_alloc()
251 while (ncount < count) in alist_alloc()
255 alist_free(bl, blk + count, ncount - count); in alist_alloc()
262 if (bl && count < bl->bl_radix) { in alist_alloc()
264 blk = alst_leaf_alloc(bl->bl_root, 0, start, count); in alist_alloc()
266 blk = alst_meta_alloc(bl->bl_root, 0, start, count, in alist_alloc()
270 bl->bl_free -= count; in alist_alloc()
281 alist_free(alist_t bl, alist_blk_t blkno, alist_blk_t count) in alist_free() argument
284 KKASSERT(blkno + count <= bl->bl_blocks); in alist_free()
286 alst_leaf_free(bl->bl_root, blkno, count); in alist_free()
288 alst_meta_free(bl->bl_root, blkno, count, in alist_free()
291 bl->bl_free += count; in alist_free()
426 alist_blk_t count) in alst_leaf_alloc() argument
457 if (count == 1) { in alst_leaf_alloc()
489 alist_blk_t n = ALIST_BMAP_RADIX - count; in alst_leaf_alloc()
494 for (j = 0; j <= n; j += count) { in alst_leaf_alloc()
499 mask = mask << count; in alst_leaf_alloc()
508 scan->bm_bighint = count - 1; in alst_leaf_alloc()
520 alist_blk_t count, alist_blk_t radix, alist_blk_t skip) in alst_meta_alloc() argument
550 if (count >= radix) { in alst_meta_alloc()
551 alist_blk_t n = count / radix * 2; /* number of bits */ in alst_meta_alloc()
563 if (scan->bm_bighint >= count && start <= blk) in alst_meta_alloc()
564 scan->bm_bighint = count >> 1; in alst_meta_alloc()
603 } else if (count <= scan[i].bm_bighint) { in alst_meta_alloc()
612 count); in alst_meta_alloc()
615 count, in alst_meta_alloc()
637 if (scan->bm_bighint >= count && start <= orig_blk) in alst_meta_alloc()
638 scan->bm_bighint = count >> 1; in alst_meta_alloc()
646 alst_leaf_free(almeta_t *scan, alist_blk_t blk, alist_blk_t count) in alst_leaf_free() argument
660 ((alist_bmap_t)-1 >> (ALIST_BMAP_RADIX - count - n)); in alst_leaf_free()
684 alst_meta_free(almeta_t *scan, alist_blk_t freeBlk, alist_blk_t count, in alst_meta_free() argument
707 while (i <= skip && blk < freeBlk + count) { in alst_meta_free()
711 if (v > count) in alst_meta_free()
712 v = count; in alst_meta_free()
727 if (freeBlk == blk && count >= radix) { in alst_meta_free()
768 count -= v; in alst_meta_free()
783 alist_blk_t skip, alist_blk_t count) in alst_radix_init() argument
819 if (count >= blk + radix) { in alst_radix_init()
825 next_skip - 1, count); in alst_radix_init()
827 } else if (count > blk) { in alst_radix_init()
835 next_skip - 1, count); in alst_radix_init()
957 alist_blk_t count = 0; in main() local
988 if (sscanf(buf + 1, "%x %d", &da, &count) == 2) { in main()
989 da = alist_alloc(bl, da, count); in main()
991 } else if (sscanf(buf + 1, "%d", &count) == 1) { in main()
992 da = alist_alloc(bl, 0, count); in main()
994 } else if (count) { in main()
995 kprintf("alloc 0x%04x/%d\n", da, count); in main()
996 alist_blk_t blk = alist_alloc(bl, da, count); in main()
1003 if (sscanf(buf + 1, "%x %d", &da, &count) == 2) { in main()
1004 alist_free(bl, da, count); in main()
1005 } else if (count) { in main()
1006 kprintf("free 0x%04x/%d\n", da, count); in main()
1007 alist_free(bl, da, count); in main()
1020 bfree = alist_free_info(bl, &da, &count); in main()
1022 bfree, da, count); in main()