Lines Matching refs:ksm_scan
136 struct ksm_scan { struct
237 static struct ksm_scan ksm_scan = { variable
809 age = (unsigned char)(ksm_scan.seqnr - rmap_item->address); in remove_rmap_item_from_tree()
974 ksm_scan.mm_slot = list_entry(ksm_mm_head.mm_list.next, in unmerge_and_remove_all_rmap_items()
978 for (mm_slot = ksm_scan.mm_slot; in unmerge_and_remove_all_rmap_items()
979 mm_slot != &ksm_mm_head; mm_slot = ksm_scan.mm_slot) { in unmerge_and_remove_all_rmap_items()
997 ksm_scan.mm_slot = list_entry(mm_slot->mm_list.next, in unmerge_and_remove_all_rmap_items()
1013 ksm_scan.seqnr = 0; in unmerge_and_remove_all_rmap_items()
1019 ksm_scan.mm_slot = &ksm_mm_head; in unmerge_and_remove_all_rmap_items()
1982 rmap_item->address |= (ksm_scan.seqnr & SEQNR_MASK); in unstable_tree_search_insert()
2237 slot = ksm_scan.mm_slot; in scan_get_next_rmap_item()
2276 ksm_scan.mm_slot = slot; in scan_get_next_rmap_item()
2285 ksm_scan.address = 0; in scan_get_next_rmap_item()
2286 ksm_scan.rmap_list = &slot->rmap_list; in scan_get_next_rmap_item()
2294 vma = find_vma(mm, ksm_scan.address); in scan_get_next_rmap_item()
2299 if (ksm_scan.address < vma->vm_start) in scan_get_next_rmap_item()
2300 ksm_scan.address = vma->vm_start; in scan_get_next_rmap_item()
2302 ksm_scan.address = vma->vm_end; in scan_get_next_rmap_item()
2304 while (ksm_scan.address < vma->vm_end) { in scan_get_next_rmap_item()
2307 *page = follow_page(vma, ksm_scan.address, FOLL_GET); in scan_get_next_rmap_item()
2309 ksm_scan.address += PAGE_SIZE; in scan_get_next_rmap_item()
2314 flush_anon_page(vma, *page, ksm_scan.address); in scan_get_next_rmap_item()
2317 ksm_scan.rmap_list, ksm_scan.address); in scan_get_next_rmap_item()
2319 ksm_scan.rmap_list = in scan_get_next_rmap_item()
2321 ksm_scan.address += PAGE_SIZE; in scan_get_next_rmap_item()
2328 ksm_scan.address += PAGE_SIZE; in scan_get_next_rmap_item()
2334 ksm_scan.address = 0; in scan_get_next_rmap_item()
2335 ksm_scan.rmap_list = &slot->rmap_list; in scan_get_next_rmap_item()
2341 remove_trailing_rmap_items(slot, ksm_scan.rmap_list); in scan_get_next_rmap_item()
2344 ksm_scan.mm_slot = list_entry(slot->mm_list.next, in scan_get_next_rmap_item()
2346 if (ksm_scan.address == 0) { in scan_get_next_rmap_item()
2377 slot = ksm_scan.mm_slot; in scan_get_next_rmap_item()
2381 ksm_scan.seqnr++; in scan_get_next_rmap_item()
2520 list_add_tail(&mm_slot->mm_list, &ksm_scan.mm_slot->mm_list); in __ksm_enter()
2548 if (mm_slot && ksm_scan.mm_slot != mm_slot) { in __ksm_exit()
2555 &ksm_scan.mm_slot->mm_list); in __ksm_exit()
3137 return sprintf(buf, "%lu\n", ksm_scan.seqnr); in full_scans_show()