Lines Matching refs:scan_hint
310 * This determines if we should scan based on the scan_hint or first_free.
312 * first fit. However, if we know a scan_hint at position scan_hint_start
320 * scan_hint. First, does the scan hint exist. Second, is the
321 * contig_hint after the scan_hint (possibly not true iff
322 * contig_hint == scan_hint). Third, is the allocation request
323 * larger than the scan_hint.
325 if (block->scan_hint &&
327 alloc_bits > block->scan_hint)
328 return block->scan_hint_start + block->scan_hint;
598 /* promote the old contig_hint to be the new scan_hint */
600 if (block->contig_hint > block->scan_hint) {
603 block->scan_hint = block->contig_hint;
606 * The old contig_hint == scan_hint. But, the
610 block->scan_hint = 0;
613 block->scan_hint = 0;
624 block->contig_hint > block->scan_hint)
625 block->scan_hint = 0;
627 block->contig_hint > block->scan_hint) {
629 * Knowing contig == contig_hint, update the scan_hint
631 * scan_hint.
634 block->scan_hint = contig;
639 * the scan_hint if it is larger than or equal and farther than
640 * the current scan_hint.
643 (contig > block->scan_hint ||
644 (contig == block->scan_hint &&
647 block->scan_hint = contig;
665 * scan_hint. We need to scan backwards to ensure we don't miss free bits
696 * if we broke the contig_hint. In doing so, the scan_hint will be before
697 * the contig_hint or after if the scan_hint == contig_hint. This cannot
706 /* promote scan_hint to contig_hint */
707 if (!full_scan && chunk_md->scan_hint) {
708 bit_off = chunk_md->scan_hint_start + chunk_md->scan_hint;
710 chunk_md->contig_hint = chunk_md->scan_hint;
711 chunk_md->scan_hint = 0;
736 /* promote scan_hint to contig_hint */
737 if (block->scan_hint) {
738 start = block->scan_hint_start + block->scan_hint;
740 block->contig_hint = block->scan_hint;
741 block->scan_hint = 0;
804 s_block->scan_hint_start + s_block->scan_hint,
807 s_block->scan_hint = 0;
848 e_block->scan_hint = 0;
864 block->scan_hint = 0;
876 chunk_md->scan_hint,
879 chunk_md->scan_hint = 0;
984 block->scan_hint = 0;
1262 block->scan_hint = 0;