Lines Matching refs:alloc_bits

316 static int pcpu_next_hint(struct pcpu_block_md *block, int alloc_bits)  in pcpu_next_hint()  argument
327 alloc_bits > block->scan_hint) in pcpu_next_hint()
399 static void pcpu_next_fit_region(struct pcpu_chunk *chunk, int alloc_bits, in pcpu_next_fit_region() argument
412 if (*bits >= alloc_bits) in pcpu_next_fit_region()
427 block->contig_hint >= *bits + alloc_bits) { in pcpu_next_fit_region()
428 int start = pcpu_next_hint(block, alloc_bits); in pcpu_next_fit_region()
430 *bits += alloc_bits + block->contig_hint_start - in pcpu_next_fit_region()
442 if (*bits >= alloc_bits) in pcpu_next_fit_region()
462 #define pcpu_for_each_fit_region(chunk, alloc_bits, align, bit_off, bits) \ argument
463 for (pcpu_next_fit_region((chunk), (alloc_bits), (align), &(bit_off), \
467 pcpu_next_fit_region((chunk), (alloc_bits), (align), &(bit_off), \
1058 static int pcpu_find_block_fit(struct pcpu_chunk *chunk, int alloc_bits, in pcpu_find_block_fit() argument
1072 if (bit_off + alloc_bits > chunk_md->contig_hint) in pcpu_find_block_fit()
1075 bit_off = pcpu_next_hint(chunk_md, alloc_bits); in pcpu_find_block_fit()
1077 pcpu_for_each_fit_region(chunk, alloc_bits, align, bit_off, bits) { in pcpu_find_block_fit()
1167 static int pcpu_alloc_area(struct pcpu_chunk *chunk, int alloc_bits, in pcpu_alloc_area() argument
1182 end = min_t(int, start + alloc_bits + PCPU_BITMAP_BLOCK_BITS, in pcpu_alloc_area()
1184 bit_off = pcpu_find_zero_area(chunk->alloc_map, end, start, alloc_bits, in pcpu_alloc_area()
1193 bitmap_set(chunk->alloc_map, bit_off, alloc_bits); in pcpu_alloc_area()
1197 bitmap_clear(chunk->bound_map, bit_off + 1, alloc_bits - 1); in pcpu_alloc_area()
1198 set_bit(bit_off + alloc_bits, chunk->bound_map); in pcpu_alloc_area()
1200 chunk->free_bytes -= alloc_bits * PCPU_MIN_ALLOC_SIZE; in pcpu_alloc_area()
1207 bit_off + alloc_bits); in pcpu_alloc_area()
1209 pcpu_block_update_hint_alloc(chunk, bit_off, alloc_bits); in pcpu_alloc_area()