/Linux-v5.10/include/linux/ |
D | mm_inline.h | 27 static __always_inline void __update_lru_size(struct lruvec *lruvec, in __update_lru_size() argument 31 struct pglist_data *pgdat = lruvec_pgdat(lruvec); in __update_lru_size() 33 __mod_lruvec_state(lruvec, NR_LRU_BASE + lru, nr_pages); in __update_lru_size() 38 static __always_inline void update_lru_size(struct lruvec *lruvec, in update_lru_size() argument 42 __update_lru_size(lruvec, lru, zid, nr_pages); in update_lru_size() 44 mem_cgroup_update_lru_size(lruvec, lru, zid, nr_pages); in update_lru_size() 49 struct lruvec *lruvec, enum lru_list lru) in add_page_to_lru_list() argument 51 update_lru_size(lruvec, lru, page_zonenum(page), thp_nr_pages(page)); in add_page_to_lru_list() 52 list_add(&page->lru, &lruvec->lists[lru]); in add_page_to_lru_list() 56 struct lruvec *lruvec, enum lru_list lru) in add_page_to_lru_list_tail() argument [all …]
|
D | memcontrol.h | 108 struct lruvec lruvec; member 465 static inline struct lruvec *mem_cgroup_lruvec(struct mem_cgroup *memcg, in mem_cgroup_lruvec() 469 struct lruvec *lruvec; in mem_cgroup_lruvec() local 472 lruvec = &pgdat->__lruvec; in mem_cgroup_lruvec() 480 lruvec = &mz->lruvec; in mem_cgroup_lruvec() 487 if (unlikely(lruvec->pgdat != pgdat)) in mem_cgroup_lruvec() 488 lruvec->pgdat = pgdat; in mem_cgroup_lruvec() 489 return lruvec; in mem_cgroup_lruvec() 492 struct lruvec *mem_cgroup_page_lruvec(struct page *, struct pglist_data *); 562 static inline struct mem_cgroup *lruvec_memcg(struct lruvec *lruvec) in lruvec_memcg() argument [all …]
|
D | mmzone.h | 277 struct lruvec { struct 820 struct lruvec __lruvec; 878 extern void lruvec_init(struct lruvec *lruvec); 880 static inline struct pglist_data *lruvec_pgdat(struct lruvec *lruvec) in lruvec_pgdat() argument 883 return lruvec->pgdat; in lruvec_pgdat() 885 return container_of(lruvec, struct pglist_data, __lruvec); in lruvec_pgdat() 889 extern unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone_idx);
|
D | swap.h | 316 void workingset_age_nonresident(struct lruvec *lruvec, unsigned long nr_pages); 337 extern void lru_note_cost(struct lruvec *lruvec, bool file, 342 struct lruvec *lruvec, struct list_head *head);
|
/Linux-v5.10/mm/ |
D | workingset.c | 227 void workingset_age_nonresident(struct lruvec *lruvec, unsigned long nr_pages) in workingset_age_nonresident() argument 241 atomic_long_add(nr_pages, &lruvec->nonresident_age); in workingset_age_nonresident() 242 } while ((lruvec = parent_lruvec(lruvec))); in workingset_age_nonresident() 257 struct lruvec *lruvec; in workingset_eviction() local 265 lruvec = mem_cgroup_lruvec(target_memcg, pgdat); in workingset_eviction() 266 workingset_age_nonresident(lruvec, thp_nr_pages(page)); in workingset_eviction() 268 memcgid = mem_cgroup_id(lruvec_memcg(lruvec)); in workingset_eviction() 269 eviction = atomic_long_read(&lruvec->nonresident_age); in workingset_eviction() 286 struct lruvec *eviction_lruvec; in workingset_refault() 292 struct lruvec *lruvec; in workingset_refault() local [all …]
|
D | swap.c | 83 struct lruvec *lruvec; in __page_cache_release() local 87 lruvec = mem_cgroup_page_lruvec(page, pgdat); in __page_cache_release() 90 del_page_from_lru_list(page, lruvec, page_off_lru(page)); in __page_cache_release() 207 void (*move_fn)(struct page *page, struct lruvec *lruvec, void *arg), in pagevec_lru_move_fn() argument 212 struct lruvec *lruvec; in pagevec_lru_move_fn() local 226 lruvec = mem_cgroup_page_lruvec(page, pgdat); in pagevec_lru_move_fn() 227 (*move_fn)(page, lruvec, arg); in pagevec_lru_move_fn() 235 static void pagevec_move_tail_fn(struct page *page, struct lruvec *lruvec, in pagevec_move_tail_fn() argument 241 del_page_from_lru_list(page, lruvec, page_lru(page)); in pagevec_move_tail_fn() 243 add_page_to_lru_list_tail(page, lruvec, page_lru(page)); in pagevec_move_tail_fn() [all …]
|
D | vmscan.c | 315 unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone_idx) in lruvec_lru_size() argument 321 struct zone *zone = &lruvec_pgdat(lruvec)->node_zones[zid]; in lruvec_lru_size() 327 size += mem_cgroup_get_zone_lru_size(lruvec, lru, zid); in lruvec_lru_size() 1616 static __always_inline void update_lru_sizes(struct lruvec *lruvec, in update_lru_sizes() argument 1625 update_lru_size(lruvec, lru, zid, -nr_zone_taken[zid]); in update_lru_sizes() 1650 struct lruvec *lruvec, struct list_head *dst, in isolate_lru_pages() argument 1654 struct list_head *src = &lruvec->lists[lru]; in isolate_lru_pages() 1732 update_lru_sizes(lruvec, lru, nr_zone_taken); in isolate_lru_pages() 1771 struct lruvec *lruvec; in isolate_lru_page() local 1774 lruvec = mem_cgroup_page_lruvec(page, pgdat); in isolate_lru_page() [all …]
|
D | mmzone.c | 89 void lruvec_init(struct lruvec *lruvec) in lruvec_init() argument 93 memset(lruvec, 0, sizeof(struct lruvec)); in lruvec_init() 96 INIT_LIST_HEAD(&lruvec->lists[lru]); in lruvec_init()
|
D | memcontrol.c | 809 void __mod_memcg_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx, in __mod_memcg_lruvec_state() argument 816 pn = container_of(lruvec, struct mem_cgroup_per_node, lruvec); in __mod_memcg_lruvec_state() 830 pg_data_t *pgdat = lruvec_pgdat(lruvec); in __mod_memcg_lruvec_state() 850 void __mod_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx, in __mod_lruvec_state() argument 854 __mod_node_page_state(lruvec_pgdat(lruvec), idx, val); in __mod_lruvec_state() 858 __mod_memcg_lruvec_state(lruvec, idx, val); in __mod_lruvec_state() 865 struct lruvec *lruvec; in __mod_lruvec_slab_state() local 879 lruvec = mem_cgroup_lruvec(memcg, pgdat); in __mod_lruvec_slab_state() 880 __mod_lruvec_state(lruvec, idx, val); in __mod_lruvec_slab_state() 1346 struct lruvec *mem_cgroup_page_lruvec(struct page *page, struct pglist_data *pgdat) in mem_cgroup_page_lruvec() [all …]
|
D | slab.h | 310 struct lruvec *lruvec; in mod_objcg_state() local 314 lruvec = mem_cgroup_lruvec(memcg, pgdat); in mod_objcg_state() 315 mod_memcg_lruvec_state(lruvec, idx, nr); in mod_objcg_state()
|
D | mlock.c | 115 struct lruvec *lruvec; in __munlock_isolate_lru_page() local 117 lruvec = mem_cgroup_page_lruvec(page, page_pgdat(page)); in __munlock_isolate_lru_page() 121 del_page_from_lru_list(page, lruvec, page_lru(page)); in __munlock_isolate_lru_page()
|
D | huge_memory.c | 2349 struct lruvec *lruvec, struct list_head *list) in __split_huge_page_tail() argument 2410 lru_add_page_tail(head, page_tail, lruvec, list); in __split_huge_page_tail() 2418 struct lruvec *lruvec; in __split_huge_page() local 2424 lruvec = mem_cgroup_page_lruvec(head, pgdat); in __split_huge_page() 2438 __split_huge_page_tail(head, i, lruvec, list); in __split_huge_page()
|
D | page-writeback.c | 2726 struct lruvec *lruvec; in test_clear_page_writeback() local 2730 lruvec = mem_cgroup_page_lruvec(page, page_pgdat(page)); in test_clear_page_writeback() 2758 dec_lruvec_state(lruvec, NR_WRITEBACK); in test_clear_page_writeback()
|
D | compaction.c | 805 struct lruvec *lruvec; in isolate_migratepages_block() local 1001 lruvec = mem_cgroup_page_lruvec(page, pgdat); in isolate_migratepages_block() 1012 del_page_from_lru_list(page, lruvec, page_lru(page)); in isolate_migratepages_block()
|
D | migrate.c | 493 struct lruvec *old_lruvec, *new_lruvec; in migrate_page_move_mapping()
|