Lines Matching refs:chunk_md
244 const struct pcpu_block_md *chunk_md = &chunk->chunk_md;
247 chunk_md->contig_hint == 0)
250 return pcpu_size_to_slot(chunk_md->contig_hint * PCPU_MIN_ALLOC_SIZE);
747 struct pcpu_block_md *chunk_md = &chunk->chunk_md;
751 if (!full_scan && chunk_md->scan_hint) {
752 bit_off = chunk_md->scan_hint_start + chunk_md->scan_hint;
753 chunk_md->contig_hint_start = chunk_md->scan_hint_start;
754 chunk_md->contig_hint = chunk_md->scan_hint;
755 chunk_md->scan_hint = 0;
757 bit_off = chunk_md->first_free;
758 chunk_md->contig_hint = 0;
763 pcpu_block_update(chunk_md, bit_off, bit_off + bits);
811 struct pcpu_block_md *chunk_md = &chunk->chunk_md;
925 if (pcpu_region_overlap(chunk_md->scan_hint_start,
926 chunk_md->scan_hint_start +
927 chunk_md->scan_hint,
930 chunk_md->scan_hint = 0;
937 if (pcpu_region_overlap(chunk_md->contig_hint_start,
938 chunk_md->contig_hint_start +
939 chunk_md->contig_hint,
958 * over the block metadata to update chunk_md->contig_hint.
959 * chunk_md->contig_hint may be off by up to a page, but it will never be more
1055 pcpu_block_update(&chunk->chunk_md,
1113 struct pcpu_block_md *chunk_md = &chunk->chunk_md;
1121 if (!pcpu_check_block_hint(chunk_md, alloc_bits, align))
1124 bit_off = pcpu_next_hint(chunk_md, alloc_bits);
1219 struct pcpu_block_md *chunk_md = &chunk->chunk_md;
1252 if (bit_off == chunk_md->first_free)
1253 chunk_md->first_free = find_next_zero_bit(
1278 struct pcpu_block_md *chunk_md = &chunk->chunk_md;
1300 chunk_md->first_free = min(chunk_md->first_free, bit_off);
1324 pcpu_init_md_block(&chunk->chunk_md, pcpu_chunk_map_bits(chunk));
1416 chunk->chunk_md.first_free = offset_bits;