Lines Matching refs:scan_hint
331 * This determines if we should scan based on the scan_hint or first_free.
333 * first fit. However, if we know a scan_hint at position scan_hint_start
341 * scan_hint. First, does the scan hint exist. Second, is the
342 * contig_hint after the scan_hint (possibly not true iff
343 * contig_hint == scan_hint). Third, is the allocation request
344 * larger than the scan_hint.
346 if (block->scan_hint &&
348 alloc_bits > block->scan_hint)
349 return block->scan_hint_start + block->scan_hint;
642 /* promote the old contig_hint to be the new scan_hint */
644 if (block->contig_hint > block->scan_hint) {
647 block->scan_hint = block->contig_hint;
650 * The old contig_hint == scan_hint. But, the
654 block->scan_hint = 0;
657 block->scan_hint = 0;
668 block->contig_hint > block->scan_hint)
669 block->scan_hint = 0;
671 block->contig_hint > block->scan_hint) {
673 * Knowing contig == contig_hint, update the scan_hint
675 * scan_hint.
678 block->scan_hint = contig;
683 * the scan_hint if it is larger than or equal and farther than
684 * the current scan_hint.
687 (contig > block->scan_hint ||
688 (contig == block->scan_hint &&
691 block->scan_hint = contig;
709 * scan_hint. We need to scan backwards to ensure we don't miss free bits
740 * if we broke the contig_hint. In doing so, the scan_hint will be before
741 * the contig_hint or after if the scan_hint == contig_hint. This cannot
750 /* promote scan_hint to contig_hint */
751 if (!full_scan && chunk_md->scan_hint) {
752 bit_off = chunk_md->scan_hint_start + chunk_md->scan_hint;
754 chunk_md->contig_hint = chunk_md->scan_hint;
755 chunk_md->scan_hint = 0;
780 /* promote scan_hint to contig_hint */
781 if (block->scan_hint) {
782 start = block->scan_hint_start + block->scan_hint;
784 block->contig_hint = block->scan_hint;
785 block->scan_hint = 0;
849 s_block->scan_hint_start + s_block->scan_hint,
852 s_block->scan_hint = 0;
893 e_block->scan_hint = 0;
909 block->scan_hint = 0;
927 chunk_md->scan_hint,
930 chunk_md->scan_hint = 0;
1035 block->scan_hint = 0;
1311 block->scan_hint = 0;