mm_slot 108 mm/khugepaged.c struct mm_slot *mm_slot; mm_slot 355 mm/khugepaged.c sizeof(struct mm_slot), mm_slot 356 mm/khugepaged.c __alignof__(struct mm_slot), 0, NULL); mm_slot 372 mm/khugepaged.c static inline struct mm_slot *alloc_mm_slot(void) mm_slot 379 mm/khugepaged.c static inline void free_mm_slot(struct mm_slot *mm_slot) mm_slot 381 mm/khugepaged.c kmem_cache_free(mm_slot_cache, mm_slot); mm_slot 384 mm/khugepaged.c static struct mm_slot *get_mm_slot(struct mm_struct *mm) mm_slot 386 mm/khugepaged.c struct mm_slot *mm_slot; mm_slot 388 mm/khugepaged.c hash_for_each_possible(mm_slots_hash, mm_slot, hash, (unsigned long)mm) mm_slot 389 mm/khugepaged.c if (mm == mm_slot->mm) mm_slot 390 mm/khugepaged.c return mm_slot; mm_slot 396 mm/khugepaged.c struct mm_slot *mm_slot) mm_slot 398 mm/khugepaged.c mm_slot->mm = mm; mm_slot 399 mm/khugepaged.c hash_add(mm_slots_hash, &mm_slot->hash, (long)mm); mm_slot 433 mm/khugepaged.c struct mm_slot *mm_slot; mm_slot 436 mm/khugepaged.c mm_slot = alloc_mm_slot(); mm_slot 437 mm/khugepaged.c if (!mm_slot) mm_slot 443 mm/khugepaged.c free_mm_slot(mm_slot); mm_slot 448 mm/khugepaged.c insert_to_mm_slots_hash(mm, mm_slot); mm_slot 454 mm/khugepaged.c list_add_tail(&mm_slot->mm_node, &khugepaged_scan.mm_head); mm_slot 486 mm/khugepaged.c struct mm_slot *mm_slot; mm_slot 490 mm/khugepaged.c mm_slot = get_mm_slot(mm); mm_slot 491 mm/khugepaged.c if (mm_slot && khugepaged_scan.mm_slot != mm_slot) { mm_slot 492 mm/khugepaged.c hash_del(&mm_slot->hash); mm_slot 493 mm/khugepaged.c list_del(&mm_slot->mm_node); mm_slot 500 mm/khugepaged.c free_mm_slot(mm_slot); mm_slot 502 mm/khugepaged.c } else if (mm_slot) { mm_slot 1240 mm/khugepaged.c static void collect_mm_slot(struct mm_slot *mm_slot) mm_slot 1242 mm/khugepaged.c struct mm_struct *mm = mm_slot->mm; mm_slot 1248 mm/khugepaged.c hash_del(&mm_slot->hash); mm_slot 1249 mm/khugepaged.c list_del(&mm_slot->mm_node); mm_slot 1258 mm/khugepaged.c free_mm_slot(mm_slot); mm_slot 1271 mm/khugepaged.c struct mm_slot *mm_slot; mm_slot 1276 mm/khugepaged.c mm_slot = get_mm_slot(mm); mm_slot 1277 mm/khugepaged.c if (likely(mm_slot && mm_slot->nr_pte_mapped_thp < MAX_PTE_MAPPED_THP)) mm_slot 1278 mm/khugepaged.c mm_slot->pte_mapped_thp[mm_slot->nr_pte_mapped_thp++] = addr; mm_slot 1394 mm/khugepaged.c static int khugepaged_collapse_pte_mapped_thps(struct mm_slot *mm_slot) mm_slot 1396 mm/khugepaged.c struct mm_struct *mm = mm_slot->mm; mm_slot 1399 mm/khugepaged.c if (likely(mm_slot->nr_pte_mapped_thp == 0)) mm_slot 1408 mm/khugepaged.c for (i = 0; i < mm_slot->nr_pte_mapped_thp; i++) mm_slot 1409 mm/khugepaged.c collapse_pte_mapped_thp(mm, mm_slot->pte_mapped_thp[i]); mm_slot 1412 mm/khugepaged.c mm_slot->nr_pte_mapped_thp = 0; mm_slot 1897 mm/khugepaged.c static int khugepaged_collapse_pte_mapped_thps(struct mm_slot *mm_slot) mm_slot 1908 mm/khugepaged.c struct mm_slot *mm_slot; mm_slot 1916 mm/khugepaged.c if (khugepaged_scan.mm_slot) mm_slot 1917 mm/khugepaged.c mm_slot = khugepaged_scan.mm_slot; mm_slot 1919 mm/khugepaged.c mm_slot = list_entry(khugepaged_scan.mm_head.next, mm_slot 1920 mm/khugepaged.c struct mm_slot, mm_node); mm_slot 1922 mm/khugepaged.c khugepaged_scan.mm_slot = mm_slot; mm_slot 1925 mm/khugepaged.c khugepaged_collapse_pte_mapped_thps(mm_slot); mm_slot 1927 mm/khugepaged.c mm = mm_slot->mm; mm_slot 2004 mm/khugepaged.c VM_BUG_ON(khugepaged_scan.mm_slot != mm_slot); mm_slot 2015 mm/khugepaged.c if (mm_slot->mm_node.next != &khugepaged_scan.mm_head) { mm_slot 2016 mm/khugepaged.c khugepaged_scan.mm_slot = list_entry( mm_slot 2017 mm/khugepaged.c mm_slot->mm_node.next, mm_slot 2018 mm/khugepaged.c struct mm_slot, mm_node); mm_slot 2021 mm/khugepaged.c khugepaged_scan.mm_slot = NULL; mm_slot 2025 mm/khugepaged.c collect_mm_slot(mm_slot); mm_slot 2062 mm/khugepaged.c if (!khugepaged_scan.mm_slot) mm_slot 2105 mm/khugepaged.c struct mm_slot *mm_slot; mm_slot 2116 mm/khugepaged.c mm_slot = khugepaged_scan.mm_slot; mm_slot 2117 mm/khugepaged.c khugepaged_scan.mm_slot = NULL; mm_slot 2118 mm/khugepaged.c if (mm_slot) mm_slot 2119 mm/khugepaged.c collect_mm_slot(mm_slot); mm_slot 137 mm/ksm.c struct mm_slot *mm_slot; mm_slot 234 mm/ksm.c static struct mm_slot ksm_mm_head = { mm_slot 238 mm/ksm.c .mm_slot = &ksm_mm_head, mm_slot 316 mm/ksm.c mm_slot_cache = KSM_KMEM_CACHE(mm_slot, 0); mm_slot 412 mm/ksm.c static inline struct mm_slot *alloc_mm_slot(void) mm_slot 419 mm/ksm.c static inline void free_mm_slot(struct mm_slot *mm_slot) mm_slot 421 mm/ksm.c kmem_cache_free(mm_slot_cache, mm_slot); mm_slot 424 mm/ksm.c static struct mm_slot *get_mm_slot(struct mm_struct *mm) mm_slot 426 mm/ksm.c struct mm_slot *slot; mm_slot 436 mm/ksm.c struct mm_slot *mm_slot) mm_slot 438 mm/ksm.c mm_slot->mm = mm; mm_slot 439 mm/ksm.c hash_add(mm_slots_hash, &mm_slot->link, (unsigned long)mm); mm_slot 819 mm/ksm.c static void remove_trailing_rmap_items(struct mm_slot *mm_slot, mm_slot 966 mm/ksm.c struct mm_slot *mm_slot; mm_slot 972 mm/ksm.c ksm_scan.mm_slot = list_entry(ksm_mm_head.mm_list.next, mm_slot 973 mm/ksm.c struct mm_slot, mm_list); mm_slot 976 mm/ksm.c for (mm_slot = ksm_scan.mm_slot; mm_slot 977 mm/ksm.c mm_slot != &ksm_mm_head; mm_slot = ksm_scan.mm_slot) { mm_slot 978 mm/ksm.c mm = mm_slot->mm; mm_slot 991 mm/ksm.c remove_trailing_rmap_items(mm_slot, &mm_slot->rmap_list); mm_slot 995 mm/ksm.c ksm_scan.mm_slot = list_entry(mm_slot->mm_list.next, mm_slot 996 mm/ksm.c struct mm_slot, mm_list); mm_slot 998 mm/ksm.c hash_del(&mm_slot->link); mm_slot 999 mm/ksm.c list_del(&mm_slot->mm_list); mm_slot 1002 mm/ksm.c free_mm_slot(mm_slot); mm_slot 1017 mm/ksm.c ksm_scan.mm_slot = &ksm_mm_head; mm_slot 2196 mm/ksm.c static struct rmap_item *get_next_rmap_item(struct mm_slot *mm_slot, mm_slot 2216 mm/ksm.c rmap_item->mm = mm_slot->mm; mm_slot 2227 mm/ksm.c struct mm_slot *slot; mm_slot 2235 mm/ksm.c slot = ksm_scan.mm_slot; mm_slot 2273 mm/ksm.c slot = list_entry(slot->mm_list.next, struct mm_slot, mm_list); mm_slot 2274 mm/ksm.c ksm_scan.mm_slot = slot; mm_slot 2342 mm/ksm.c ksm_scan.mm_slot = list_entry(slot->mm_list.next, mm_slot 2343 mm/ksm.c struct mm_slot, mm_list); mm_slot 2375 mm/ksm.c slot = ksm_scan.mm_slot; mm_slot 2492 mm/ksm.c struct mm_slot *mm_slot; mm_slot 2495 mm/ksm.c mm_slot = alloc_mm_slot(); mm_slot 2496 mm/ksm.c if (!mm_slot) mm_slot 2503 mm/ksm.c insert_to_mm_slots_hash(mm, mm_slot); mm_slot 2515 mm/ksm.c list_add_tail(&mm_slot->mm_list, &ksm_mm_head.mm_list); mm_slot 2517 mm/ksm.c list_add_tail(&mm_slot->mm_list, &ksm_scan.mm_slot->mm_list); mm_slot 2531 mm/ksm.c struct mm_slot *mm_slot; mm_slot 2544 mm/ksm.c mm_slot = get_mm_slot(mm); mm_slot 2545 mm/ksm.c if (mm_slot && ksm_scan.mm_slot != mm_slot) { mm_slot 2546 mm/ksm.c if (!mm_slot->rmap_list) { mm_slot 2547 mm/ksm.c hash_del(&mm_slot->link); mm_slot 2548 mm/ksm.c list_del(&mm_slot->mm_list); mm_slot 2551 mm/ksm.c list_move(&mm_slot->mm_list, mm_slot 2552 mm/ksm.c &ksm_scan.mm_slot->mm_list); mm_slot 2558 mm/ksm.c free_mm_slot(mm_slot); mm_slot 2561 mm/ksm.c } else if (mm_slot) {