Lines Matching refs:khugepaged_scan

91  * @mm_node: khugepaged scan list headed in khugepaged_scan.mm_head
105 * struct khugepaged_scan - cursor for scanning
110 * There is only the one khugepaged_scan instance of this cursor structure.
112 struct khugepaged_scan {
118 static struct khugepaged_scan khugepaged_scan = {
119 .mm_head = LIST_HEAD_INIT(khugepaged_scan.mm_head),
495 wakeup = list_empty(&khugepaged_scan.mm_head);
496 list_add_tail(&mm_slot->mm_node, &khugepaged_scan.mm_head);
533 if (mm_slot && khugepaged_scan.mm_slot != mm_slot) {
2113 if (khugepaged_scan.mm_slot)
2114 mm_slot = khugepaged_scan.mm_slot;
2116 mm_slot = list_entry(khugepaged_scan.mm_head.next,
2118 khugepaged_scan.address = 0;
2119 khugepaged_scan.mm_slot = mm_slot;
2133 vma = find_vma(mm, khugepaged_scan.address);
2153 if (khugepaged_scan.address > hend)
2155 if (khugepaged_scan.address < hstart)
2156 khugepaged_scan.address = hstart;
2157 VM_BUG_ON(khugepaged_scan.address & ~HPAGE_PMD_MASK);
2161 while (khugepaged_scan.address < hend) {
2167 VM_BUG_ON(khugepaged_scan.address < hstart ||
2168 khugepaged_scan.address + HPAGE_PMD_SIZE >
2173 khugepaged_scan.address);
2181 khugepaged_scan.address,
2185 khugepaged_scan.address += HPAGE_PMD_SIZE;
2199 VM_BUG_ON(khugepaged_scan.mm_slot != mm_slot);
2210 if (mm_slot->mm_node.next != &khugepaged_scan.mm_head) {
2211 khugepaged_scan.mm_slot = list_entry(
2214 khugepaged_scan.address = 0;
2216 khugepaged_scan.mm_slot = NULL;
2228 return !list_empty(&khugepaged_scan.mm_head) &&
2234 return !list_empty(&khugepaged_scan.mm_head) ||
2259 if (!khugepaged_scan.mm_slot)
2313 mm_slot = khugepaged_scan.mm_slot;
2314 khugepaged_scan.mm_slot = NULL;
2381 if (!list_empty(&khugepaged_scan.mm_head))