Lines Matching refs:mm_slot
121 struct mm_slot slot;
135 struct ksm_mm_slot *mm_slot; member
234 .mm_slot = &ksm_mm_head,
945 struct ksm_mm_slot *mm_slot; in unmerge_and_remove_all_rmap_items() local
946 struct mm_slot *slot; in unmerge_and_remove_all_rmap_items()
953 struct mm_slot, mm_node); in unmerge_and_remove_all_rmap_items()
954 ksm_scan.mm_slot = mm_slot_entry(slot, struct ksm_mm_slot, slot); in unmerge_and_remove_all_rmap_items()
957 for (mm_slot = ksm_scan.mm_slot; mm_slot != &ksm_mm_head; in unmerge_and_remove_all_rmap_items()
958 mm_slot = ksm_scan.mm_slot) { in unmerge_and_remove_all_rmap_items()
959 VMA_ITERATOR(vmi, mm_slot->slot.mm, 0); in unmerge_and_remove_all_rmap_items()
961 mm = mm_slot->slot.mm; in unmerge_and_remove_all_rmap_items()
974 remove_trailing_rmap_items(&mm_slot->rmap_list); in unmerge_and_remove_all_rmap_items()
978 slot = list_entry(mm_slot->slot.mm_node.next, in unmerge_and_remove_all_rmap_items()
979 struct mm_slot, mm_node); in unmerge_and_remove_all_rmap_items()
980 ksm_scan.mm_slot = mm_slot_entry(slot, struct ksm_mm_slot, slot); in unmerge_and_remove_all_rmap_items()
982 hash_del(&mm_slot->slot.hash); in unmerge_and_remove_all_rmap_items()
983 list_del(&mm_slot->slot.mm_node); in unmerge_and_remove_all_rmap_items()
986 mm_slot_free(mm_slot_cache, mm_slot); in unmerge_and_remove_all_rmap_items()
1001 ksm_scan.mm_slot = &ksm_mm_head; in unmerge_and_remove_all_rmap_items()
2190 static struct ksm_rmap_item *get_next_rmap_item(struct ksm_mm_slot *mm_slot, in get_next_rmap_item() argument
2210 rmap_item->mm = mm_slot->slot.mm; in get_next_rmap_item()
2222 struct ksm_mm_slot *mm_slot; in scan_get_next_rmap_item() local
2223 struct mm_slot *slot; in scan_get_next_rmap_item()
2232 mm_slot = ksm_scan.mm_slot; in scan_get_next_rmap_item()
2233 if (mm_slot == &ksm_mm_head) { in scan_get_next_rmap_item()
2270 slot = list_entry(mm_slot->slot.mm_node.next, in scan_get_next_rmap_item()
2271 struct mm_slot, mm_node); in scan_get_next_rmap_item()
2272 mm_slot = mm_slot_entry(slot, struct ksm_mm_slot, slot); in scan_get_next_rmap_item()
2273 ksm_scan.mm_slot = mm_slot; in scan_get_next_rmap_item()
2279 if (mm_slot == &ksm_mm_head) in scan_get_next_rmap_item()
2283 ksm_scan.rmap_list = &mm_slot->rmap_list; in scan_get_next_rmap_item()
2286 slot = &mm_slot->slot; in scan_get_next_rmap_item()
2316 rmap_item = get_next_rmap_item(mm_slot, in scan_get_next_rmap_item()
2337 ksm_scan.rmap_list = &mm_slot->rmap_list; in scan_get_next_rmap_item()
2346 slot = list_entry(mm_slot->slot.mm_node.next, in scan_get_next_rmap_item()
2347 struct mm_slot, mm_node); in scan_get_next_rmap_item()
2348 ksm_scan.mm_slot = mm_slot_entry(slot, struct ksm_mm_slot, slot); in scan_get_next_rmap_item()
2359 hash_del(&mm_slot->slot.hash); in scan_get_next_rmap_item()
2360 list_del(&mm_slot->slot.mm_node); in scan_get_next_rmap_item()
2363 mm_slot_free(mm_slot_cache, mm_slot); in scan_get_next_rmap_item()
2380 mm_slot = ksm_scan.mm_slot; in scan_get_next_rmap_item()
2381 if (mm_slot != &ksm_mm_head) in scan_get_next_rmap_item()
2498 struct ksm_mm_slot *mm_slot; in __ksm_enter() local
2499 struct mm_slot *slot; in __ksm_enter()
2502 mm_slot = mm_slot_alloc(mm_slot_cache); in __ksm_enter()
2503 if (!mm_slot) in __ksm_enter()
2506 slot = &mm_slot->slot; in __ksm_enter()
2526 list_add_tail(&slot->mm_node, &ksm_scan.mm_slot->slot.mm_node); in __ksm_enter()
2540 struct ksm_mm_slot *mm_slot; in __ksm_exit() local
2541 struct mm_slot *slot; in __ksm_exit()
2555 mm_slot = mm_slot_entry(slot, struct ksm_mm_slot, slot); in __ksm_exit()
2556 if (mm_slot && ksm_scan.mm_slot != mm_slot) { in __ksm_exit()
2557 if (!mm_slot->rmap_list) { in __ksm_exit()
2563 &ksm_scan.mm_slot->slot.mm_node); in __ksm_exit()
2569 mm_slot_free(mm_slot_cache, mm_slot); in __ksm_exit()
2572 } else if (mm_slot) { in __ksm_exit()