Home
last modified time | relevance | path

Searched refs:lruvec (Results 1 - 25 of 39) sorted by relevance

12

/kernel/linux/linux-6.6/mm/
H A Dswap.c84 struct lruvec *lruvec; in __page_cache_release() local
87 lruvec = folio_lruvec_lock_irqsave(folio, &flags); in __page_cache_release()
88 lruvec_del_folio(lruvec, folio); in __page_cache_release()
90 unlock_page_lruvec_irqrestore(lruvec, flags); in __page_cache_release()
161 typedef void (*move_fn_t)(struct lruvec *lruvec, struct folio *folio);
163 static void lru_add_fn(struct lruvec *lruvec, struct folio *folio) in lru_add_fn() argument
199 lruvec_add_folio(lruvec, foli in lru_add_fn()
206 struct lruvec *lruvec = NULL; folio_batch_move_lru() local
237 lru_move_tail_fn(struct lruvec *lruvec, struct folio *folio) lru_move_tail_fn() argument
269 lru_note_cost(struct lruvec *lruvec, bool file, unsigned int nr_io, unsigned int nr_rotated) lru_note_cost() argument
334 folio_activate_fn(struct lruvec *lruvec, struct folio *folio) folio_activate_fn() argument
380 struct lruvec *lruvec; folio_activate() local
568 lru_deactivate_file_fn(struct lruvec *lruvec, struct folio *folio) lru_deactivate_file_fn() argument
609 lru_deactivate_fn(struct lruvec *lruvec, struct folio *folio) lru_deactivate_fn() argument
625 lru_lazyfree_fn(struct lruvec *lruvec, struct folio *folio) lru_lazyfree_fn() argument
972 struct lruvec *lruvec = NULL; release_pages() local
[all...]
H A Dworkingset.c191 * entry, and after storing the identifier for the lruvec there might
236 struct lruvec *lruvec; in lru_gen_eviction() local
247 lruvec = mem_cgroup_lruvec(memcg, pgdat); in lru_gen_eviction()
248 lrugen = &lruvec->lrugen; in lru_gen_eviction()
260 * Fills in @lruvec, @token, @workingset with the values unpacked from shadow.
262 static bool lru_gen_test_recent(void *shadow, bool file, struct lruvec **lruvec, in lru_gen_test_recent() argument
273 *lruvec = mem_cgroup_lruvec(memcg, pgdat); in lru_gen_test_recent()
275 min_seq = READ_ONCE((*lruvec) in lru_gen_test_recent()
285 struct lruvec *lruvec; lru_gen_refault() local
333 lru_gen_test_recent(void *shadow, bool file, struct lruvec **lruvec, unsigned long *token, bool *workingset) lru_gen_test_recent() argument
355 workingset_age_nonresident(struct lruvec *lruvec, unsigned long nr_pages) workingset_age_nonresident() argument
385 struct lruvec *lruvec; workingset_eviction() local
541 struct lruvec *lruvec; workingset_refault() local
624 struct lruvec *lruvec; workingset_activation() local
729 struct lruvec *lruvec; count_shadow_nodes() local
[all...]
H A Dvmscan.c563 * @lruvec: lru vector
567 unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru, in lruvec_lru_size() argument
574 if (!mem_cgroup_disabled() && is_node_lruvec(lruvec)) { in lruvec_lru_size()
576 struct zone *zone = &lruvec_pgdat(lruvec)->node_zones[zid]; in lruvec_lru_size()
589 struct zone *zone = &lruvec_pgdat(lruvec)->node_zones[zid]; in lruvec_lru_size()
595 size += mem_cgroup_get_zone_lru_size(lruvec, lru, zid); in lruvec_lru_size()
2187 static __always_inline void update_lru_sizes(struct lruvec *lruvec, in update_lru_sizes() argument
2196 update_lru_size(lruvec, lr in update_lru_sizes()
2241 isolate_lru_folios(unsigned long nr_to_scan, struct lruvec *lruvec, struct list_head *dst, unsigned long *nr_scanned, struct scan_control *sc, enum lru_list lru) isolate_lru_folios() argument
2365 struct lruvec *lruvec; folio_isolate_lru() local
2427 move_folios_to_lru(struct lruvec *lruvec, struct list_head *list) move_folios_to_lru() argument
2524 shrink_inactive_list(unsigned long nr_to_scan, struct lruvec *lruvec, struct scan_control *sc, enum lru_list lru) shrink_inactive_list() argument
2654 shrink_active_list(unsigned long nr_to_scan, struct lruvec *lruvec, struct scan_control *sc, enum lru_list lru) shrink_active_list() argument
2810 shrink_list(enum lru_list lru, unsigned long nr_to_scan, struct lruvec *lruvec, struct scan_control *sc) shrink_list() argument
2852 inactive_is_low(struct lruvec *lruvec, enum lru_list inactive_lru) inactive_is_low() argument
2984 get_scan_count(struct lruvec *lruvec, struct scan_control *sc, unsigned long *nr) get_scan_count() argument
3245 struct lruvec *lruvec = &memcg->nodeinfo[nid]->lruvec; get_lruvec() local
3259 get_swappiness(struct lruvec *lruvec, struct scan_control *sc) get_swappiness() argument
3274 get_nr_gens(struct lruvec *lruvec, int type) get_nr_gens() argument
3279 seq_is_valid(struct lruvec *lruvec) seq_is_valid() argument
3330 test_bloom_filter(struct lruvec *lruvec, unsigned long seq, void *item) test_bloom_filter() argument
3345 update_bloom_filter(struct lruvec *lruvec, unsigned long seq, void *item) update_bloom_filter() argument
3363 reset_bloom_filter(struct lruvec *lruvec, unsigned long seq) reset_bloom_filter() argument
3413 struct lruvec *lruvec = get_lruvec(memcg, nid); lru_gen_add_mm() local
3442 struct lruvec *lruvec = get_lruvec(memcg, nid); lru_gen_del_mm() local
3493 reset_mm_stats(struct lruvec *lruvec, struct lru_gen_mm_walk *walk, bool last) reset_mm_stats() argument
3542 iterate_mm_list(struct lruvec *lruvec, struct lru_gen_mm_walk *walk, struct mm_struct **iter) iterate_mm_list() argument
3610 iterate_mm_list_nowalk(struct lruvec *lruvec, unsigned long max_seq) iterate_mm_list_nowalk() argument
3663 read_ctrl_pos(struct lruvec *lruvec, int type, int tier, int gain, struct ctrl_pos *pos) read_ctrl_pos() argument
3678 reset_ctrl_pos(struct lruvec *lruvec, int type, bool carryover) reset_ctrl_pos() argument
3755 folio_inc_gen(struct lruvec *lruvec, struct folio *folio, bool reclaiming) folio_inc_gen() argument
3800 reset_batch_size(struct lruvec *lruvec, struct lru_gen_mm_walk *walk) reset_batch_size() argument
4241 walk_mm(struct lruvec *lruvec, struct mm_struct *mm, struct lru_gen_mm_walk *walk) walk_mm() argument
4318 inc_min_seq(struct lruvec *lruvec, int type, bool can_swap) inc_min_seq() argument
4354 try_to_inc_min_seq(struct lruvec *lruvec, bool can_swap) try_to_inc_min_seq() argument
4397 inc_max_seq(struct lruvec *lruvec, bool can_swap, bool force_scan) inc_max_seq() argument
4454 try_to_inc_max_seq(struct lruvec *lruvec, unsigned long max_seq, struct scan_control *sc, bool can_swap, bool force_scan) try_to_inc_max_seq() argument
4508 lruvec_is_sizable(struct lruvec *lruvec, struct scan_control *sc) lruvec_is_sizable() argument
4533 lruvec_is_reclaimable(struct lruvec *lruvec, struct scan_control *sc, unsigned long min_ttl) lruvec_is_reclaimable() argument
4572 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdat); lru_gen_age_node() local
4623 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdat); lru_gen_look_around() local
4725 lru_gen_memcg_seg(struct lruvec *lruvec) lru_gen_memcg_seg() argument
4730 lru_gen_rotate_memcg(struct lruvec *lruvec, int op) lru_gen_rotate_memcg() argument
4784 struct lruvec *lruvec = get_lruvec(memcg, nid); lru_gen_online_memcg() local
4806 struct lruvec *lruvec = get_lruvec(memcg, nid); lru_gen_offline_memcg() local
4819 struct lruvec *lruvec = get_lruvec(memcg, nid); lru_gen_release_memcg() local
4840 struct lruvec *lruvec = get_lruvec(memcg, nid); lru_gen_soft_reclaim() local
4849 lru_gen_memcg_seg(struct lruvec *lruvec) lru_gen_memcg_seg() argument
4860 sort_folio(struct lruvec *lruvec, struct folio *folio, struct scan_control *sc, int tier_idx) sort_folio() argument
4929 isolate_folio(struct lruvec *lruvec, struct folio *folio, struct scan_control *sc) isolate_folio() argument
4963 scan_folios(struct lruvec *lruvec, struct scan_control *sc, int type, int tier, struct list_head *list) scan_folios() argument
5039 get_tier_idx(struct lruvec *lruvec, int type) get_tier_idx() argument
5059 get_type_to_scan(struct lruvec *lruvec, int swappiness, int *tier_idx) get_type_to_scan() argument
5087 isolate_folios(struct lruvec *lruvec, struct scan_control *sc, int swappiness, int *type_scanned, struct list_head *list) isolate_folios() argument
5129 evict_folios(struct lruvec *lruvec, struct scan_control *sc, int swappiness) evict_folios() argument
5221 should_run_aging(struct lruvec *lruvec, unsigned long max_seq, struct scan_control *sc, bool can_swap, unsigned long *nr_to_scan) should_run_aging() argument
5293 get_nr_to_scan(struct lruvec *lruvec, struct scan_control *sc, bool can_swap) get_nr_to_scan() argument
5313 should_abort_scan(struct lruvec *lruvec, struct scan_control *sc) should_abort_scan() argument
5344 try_to_shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc) try_to_shrink_lruvec() argument
5379 shrink_one(struct lruvec *lruvec, struct scan_control *sc) shrink_one() argument
5429 struct lruvec *lruvec; shrink_many() local
5494 lru_gen_shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc) lru_gen_shrink_lruvec() argument
5524 lru_gen_shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc) lru_gen_shrink_lruvec() argument
5536 struct lruvec *lruvec = mem_cgroup_lruvec(NULL, pgdat); set_initial_priority() local
5601 state_is_valid(struct lruvec *lruvec) state_is_valid() argument
5624 fill_evictable(struct lruvec *lruvec) fill_evictable() argument
5655 drain_evictable(struct lruvec *lruvec) drain_evictable() argument
5708 struct lruvec *lruvec = get_lruvec(memcg, nid); lru_gen_change_state() local
5871 lru_gen_seq_show_full(struct seq_file *m, struct lruvec *lruvec, unsigned long max_seq, unsigned long *min_seq, unsigned long seq) lru_gen_seq_show_full() argument
5927 struct lruvec *lruvec = v; lru_gen_seq_show() local
5986 run_aging(struct lruvec *lruvec, unsigned long seq, struct scan_control *sc, bool can_swap, bool force_scan) run_aging() argument
6006 run_eviction(struct lruvec *lruvec, unsigned long seq, struct scan_control *sc, int swappiness, unsigned long nr_to_reclaim) run_eviction() argument
6037 struct lruvec *lruvec; run_cmd() local
6178 lru_gen_init_lruvec(struct lruvec *lruvec) lru_gen_init_lruvec() argument
6224 struct lruvec *lruvec = get_lruvec(memcg, nid); lru_gen_exit_memcg() local
6261 lru_gen_shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc) lru_gen_shrink_lruvec() argument
6271 shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc) shrink_lruvec() argument
6467 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdat); shrink_node_memcgs() local
6801 struct lruvec *lruvec; snapshot_refaults() local
6880 struct lruvec *lruvec; do_try_to_free_pages() local
7105 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdat); mem_cgroup_shrink_node() local
7195 struct lruvec *lruvec; kswapd_age_node() local
7284 struct lruvec *lruvec = mem_cgroup_lruvec(NULL, pgdat); clear_pgdat_congested() local
8159 struct lruvec *lruvec = NULL; check_move_unevictable_folios() local
8203 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdata); purgeable_node() local
[all...]
H A Dmlock.c61 static struct lruvec *__mlock_folio(struct folio *folio, struct lruvec *lruvec) in __mlock_folio() argument
65 return lruvec; in __mlock_folio()
67 lruvec = folio_lruvec_relock_irq(folio, lruvec); in __mlock_folio()
76 lruvec_del_folio(lruvec, folio); in __mlock_folio()
78 lruvec_add_folio(lruvec, folio); in __mlock_folio()
92 lruvec_del_folio(lruvec, folio); in __mlock_folio()
96 lruvec_add_folio(lruvec, foli in __mlock_folio()
103 __mlock_new_folio(struct folio *folio, struct lruvec *lruvec) __mlock_new_folio() argument
122 __munlock_folio(struct folio *folio, struct lruvec *lruvec) __munlock_folio() argument
188 struct lruvec *lruvec = NULL; mlock_folio_batch() local
[all...]
H A Dzswapd.c259 struct lruvec *lruvec = NULL; in get_memcg_anon_refault_status() local
272 lruvec = &mz->lruvec; in get_memcg_anon_refault_status()
273 if (!lruvec) in get_memcg_anon_refault_status()
276 anon_total = lruvec_lru_size(lruvec, LRU_ACTIVE_ANON, MAX_NR_ZONES) + in get_memcg_anon_refault_status()
277 lruvec_lru_size(lruvec, LRU_INACTIVE_ANON, MAX_NR_ZONES) + in get_memcg_anon_refault_status()
481 struct lruvec *lruvec, struct scan_control *sc, enum lru_list lru) in zswapd_shrink_active_list()
488 struct pglist_data *pgdat = lruvec_pgdat(lruvec); in zswapd_shrink_active_list()
480 zswapd_shrink_active_list(unsigned long nr_to_scan, struct lruvec *lruvec, struct scan_control *sc, enum lru_list lru) zswapd_shrink_active_list() argument
532 zswapd_shrink_list(enum lru_list lru, unsigned long nr_to_scan, struct lruvec *lruvec, struct scan_control *sc) zswapd_shrink_list() argument
564 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdat); zswapd_shrink_anon_memcg() local
595 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdat); zswapd_shrink_anon() local
[all...]
H A Dmmzone.c75 void lruvec_init(struct lruvec *lruvec) in lruvec_init() argument
79 memset(lruvec, 0, sizeof(struct lruvec)); in lruvec_init()
80 spin_lock_init(&lruvec->lru_lock); in lruvec_init()
83 INIT_LIST_HEAD(&lruvec->lists[lru]); in lruvec_init()
90 list_del(&lruvec->lists[LRU_UNEVICTABLE]); in lruvec_init()
92 lru_gen_init_lruvec(lruvec); in lruvec_init()
H A Dmemcg_reclaim.c38 struct lruvec *lruvec = node_lruvec(pgdat); in get_scan_count_hyperhold() local
86 if (!inactive_is_low(lruvec, LRU_INACTIVE_ANON) && in get_scan_count_hyperhold()
87 (lruvec_lru_size(lruvec, LRU_INACTIVE_ANON, in get_scan_count_hyperhold()
102 * lruvec even if it has plenty of old anonymous pages unless the in get_scan_count_hyperhold()
107 !inactive_is_low(lruvec, LRU_INACTIVE_FILE) && in get_scan_count_hyperhold()
108 lruvec_lru_size(lruvec, LRU_INACTIVE_FILE, sc->reclaim_idx) >> sc->priority) { in get_scan_count_hyperhold()
152 lruvec_size = lruvec_lru_size(lruvec, lru, sc->reclaim_idx); in get_scan_count_hyperhold()
192 struct lruvec *lruvec in shrink_anon_memcg() local
249 struct lruvec *lruvec = NULL; shrink_anon() local
318 struct lruvec *lruvec = node_lruvec(pgdat); shrink_file() local
[all...]
H A Dmemcg_control.c164 static unsigned long move_pages_to_page_list(struct lruvec *lruvec, enum lru_list lru, in move_pages_to_page_list() argument
167 struct list_head *src = &lruvec->lists[lru]; in move_pages_to_page_list()
209 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdat); in reclaim_all_anon_memcg() local
225 move_pages_to_page_list(lruvec, LRU_INACTIVE_ANON, &page_list); in reclaim_all_anon_memcg()
288 struct lruvec *lruvec = NULL; in memcg_total_info_per_app_show() local
301 lruvec = &mz->lruvec; in memcg_total_info_per_app_show()
365 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdata); purgeable_memcg_node() local
[all...]
H A Dzswapd_control.c486 struct lruvec *lruvec = NULL; in memcg_active_app_info_list_show() local
500 lruvec = &mz->lruvec; in memcg_active_app_info_list_show()
501 if (!lruvec) { in memcg_active_app_info_list_show()
506 anon_size = lruvec_lru_size(lruvec, LRU_ACTIVE_ANON, in memcg_active_app_info_list_show()
507 MAX_NR_ZONES) + lruvec_lru_size(lruvec, in memcg_active_app_info_list_show()
685 struct lruvec *lruvec = NULL; in memcg_eswap_info_show() local
695 lruvec in memcg_eswap_info_show()
[all...]
/kernel/linux/linux-5.10/mm/
H A Dworkingset.c178 * entry, and after storing the identifier for the lruvec there might
219 * @lruvec: the lruvec that was aged
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
301 struct lruvec *lruvec; workingset_refault() local
453 struct lruvec *lruvec; workingset_activation() local
554 struct lruvec *lruvec; count_shadow_nodes() local
[all...]
H A Dswap.c83 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()
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, ar in pagevec_lru_move_fn()
206 pagevec_lru_move_fn(struct pagevec *pvec, void (*move_fn)(struct page *page, struct lruvec *lruvec, void *arg), void *arg) pagevec_lru_move_fn() argument
235 pagevec_move_tail_fn(struct page *page, struct lruvec *lruvec, void *arg) pagevec_move_tail_fn() argument
281 lru_note_cost(struct lruvec *lruvec, bool file, unsigned int nr_pages) lru_note_cost() argument
324 __activate_page(struct page *page, struct lruvec *lruvec, void *arg) __activate_page() argument
534 lru_deactivate_file_fn(struct page *page, struct lruvec *lruvec, void *arg) lru_deactivate_file_fn() argument
582 lru_deactivate_fn(struct page *page, struct lruvec *lruvec, void *arg) lru_deactivate_fn() argument
600 lru_lazyfree_fn(struct page *page, struct lruvec *lruvec, void *arg) lru_lazyfree_fn() argument
881 struct lruvec *lruvec; release_pages() local
985 lru_add_page_tail(struct page *page, struct page *page_tail, struct lruvec *lruvec, struct list_head *list) lru_add_page_tail() argument
1016 __pagevec_lru_add_fn(struct page *page, struct lruvec *lruvec, void *arg) __pagevec_lru_add_fn() argument
[all...]
H A Dvmscan.c222 * @lruvec: lru vector
226 unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone_idx) in lruvec_lru_size() argument
232 if (!mem_cgroup_disabled() && is_node_lruvec(lruvec)) { in lruvec_lru_size()
234 struct zone *zone = &lruvec_pgdat(lruvec)->node_zones[zid]; in lruvec_lru_size()
246 struct zone *zone = &lruvec_pgdat(lruvec)->node_zones[zid]; in lruvec_lru_size()
252 size += mem_cgroup_get_zone_lru_size(lruvec, lru, zid); in lruvec_lru_size()
1560 static __always_inline void update_lru_sizes(struct lruvec *lruvec, in update_lru_sizes() argument
1569 update_lru_size(lruvec, lr in update_lru_sizes()
1593 isolate_lru_pages(unsigned long nr_to_scan, struct lruvec *lruvec, struct list_head *dst, unsigned long *nr_scanned, struct scan_control *sc, enum lru_list lru) isolate_lru_pages() argument
1715 struct lruvec *lruvec; isolate_lru_page() local
1788 move_pages_to_lru(struct lruvec *lruvec, struct list_head *list) move_pages_to_lru() argument
1877 shrink_inactive_list(unsigned long nr_to_scan, struct lruvec *lruvec, struct scan_control *sc, enum lru_list lru) shrink_inactive_list() argument
1981 shrink_active_list(unsigned long nr_to_scan, struct lruvec *lruvec, struct scan_control *sc, enum lru_list lru) shrink_active_list() argument
2130 shrink_list(enum lru_list lru, unsigned long nr_to_scan, struct lruvec *lruvec, struct scan_control *sc) shrink_list() argument
2188 inactive_is_low(struct lruvec *lruvec, enum lru_list inactive_lru) inactive_is_low() argument
2217 get_scan_count(struct lruvec *lruvec, struct scan_control *sc, unsigned long *nr) get_scan_count() argument
2413 shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc) shrink_lruvec() argument
2605 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdat); shrink_node_memcgs() local
2983 struct lruvec *lruvec; snapshot_refaults() local
3056 struct lruvec *lruvec; do_try_to_free_pages() local
3285 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdat); mem_cgroup_shrink_node() local
3375 struct lruvec *lruvec; age_active_anon() local
3456 struct lruvec *lruvec = mem_cgroup_lruvec(NULL, pgdat); clear_pgdat_congested() local
4314 struct lruvec *lruvec; check_move_unevictable_pages() local
4370 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdata); purgeable_node() local
[all...]
H A Dzswapd.c258 struct lruvec *lruvec = NULL; in get_memcg_anon_refault_status() local
271 lruvec = &mz->lruvec; in get_memcg_anon_refault_status()
272 if (!lruvec) in get_memcg_anon_refault_status()
275 anon_total = lruvec_lru_size(lruvec, LRU_ACTIVE_ANON, MAX_NR_ZONES) + in get_memcg_anon_refault_status()
276 lruvec_lru_size(lruvec, LRU_INACTIVE_ANON, MAX_NR_ZONES) + in get_memcg_anon_refault_status()
480 struct lruvec *lruvec, struct scan_control *sc, enum lru_list lru) in zswapd_shrink_active_list()
487 struct pglist_data *pgdat = lruvec_pgdat(lruvec); in zswapd_shrink_active_list()
479 zswapd_shrink_active_list(unsigned long nr_to_scan, struct lruvec *lruvec, struct scan_control *sc, enum lru_list lru) zswapd_shrink_active_list() argument
531 zswapd_shrink_list(enum lru_list lru, unsigned long nr_to_scan, struct lruvec *lruvec, struct scan_control *sc) zswapd_shrink_list() argument
563 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdat); zswapd_shrink_anon_memcg() local
594 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdat); zswapd_shrink_anon() local
[all...]
H A Dmemcg_reclaim.c36 struct lruvec *lruvec = node_lruvec(pgdat); in get_scan_count_hyperhold() local
84 if (!inactive_is_low(lruvec, LRU_INACTIVE_ANON) && in get_scan_count_hyperhold()
85 (lruvec_lru_size(lruvec, LRU_INACTIVE_ANON, in get_scan_count_hyperhold()
100 * lruvec even if it has plenty of old anonymous pages unless the in get_scan_count_hyperhold()
105 !inactive_is_low(lruvec, LRU_INACTIVE_FILE) && in get_scan_count_hyperhold()
106 lruvec_lru_size(lruvec, LRU_INACTIVE_FILE, sc->reclaim_idx) >> sc->priority) { in get_scan_count_hyperhold()
150 lruvec_size = lruvec_lru_size(lruvec, lru, sc->reclaim_idx); in get_scan_count_hyperhold()
190 struct lruvec *lruvec in shrink_anon_memcg() local
247 struct lruvec *lruvec = NULL; shrink_anon() local
316 struct lruvec *lruvec = node_lruvec(pgdat); shrink_file() local
[all...]
H A Dmemcg_control.c164 static unsigned long move_pages_to_page_list(struct lruvec *lruvec, enum lru_list lru, in move_pages_to_page_list() argument
167 struct list_head *src = &lruvec->lists[lru]; in move_pages_to_page_list()
209 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdat); in reclaim_all_anon_memcg() local
225 move_pages_to_page_list(lruvec, LRU_INACTIVE_ANON, &page_list); in reclaim_all_anon_memcg()
288 struct lruvec *lruvec = NULL; in memcg_total_info_per_app_show() local
301 lruvec = &mz->lruvec; in memcg_total_info_per_app_show()
365 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdata); purgeable_memcg_node() local
[all...]
H A Dmmzone.c75 void lruvec_init(struct lruvec *lruvec) in lruvec_init() argument
79 memset(lruvec, 0, sizeof(struct lruvec)); in lruvec_init()
82 INIT_LIST_HEAD(&lruvec->lists[lru]); in lruvec_init()
H A Dzswapd_control.c485 struct lruvec *lruvec = NULL; in memcg_active_app_info_list_show() local
499 lruvec = &mz->lruvec; in memcg_active_app_info_list_show()
500 if (!lruvec) { in memcg_active_app_info_list_show()
505 anon_size = lruvec_lru_size(lruvec, LRU_ACTIVE_ANON, in memcg_active_app_info_list_show()
506 MAX_NR_ZONES) + lruvec_lru_size(lruvec, in memcg_active_app_info_list_show()
684 struct lruvec *lruvec = NULL; in memcg_eswap_info_show() local
694 lruvec in memcg_eswap_info_show()
[all...]
H A Dinternal.h237 extern unsigned long isolate_lru_pages(unsigned long nr_to_scan, struct lruvec *lruvec,
240 extern unsigned move_pages_to_lru(struct lruvec *lruvec, struct list_head *list);
241 extern void shrink_active_list(unsigned long nr_to_scan, struct lruvec *lruvec,
243 extern unsigned long shrink_inactive_list(unsigned long nr_to_scan, struct lruvec *lruvec,
245 extern void shrink_lruvec(struct lruvec *lruvec, struc
[all...]
/kernel/linux/linux-6.6/include/linux/
H A Dmm_inline.h37 static __always_inline void __update_lru_size(struct lruvec *lruvec, in __update_lru_size() argument
41 struct pglist_data *pgdat = lruvec_pgdat(lruvec); in __update_lru_size()
43 lockdep_assert_held(&lruvec->lru_lock); in __update_lru_size()
46 __mod_lruvec_state(lruvec, NR_LRU_BASE + lru, nr_pages); in __update_lru_size()
51 static __always_inline void update_lru_size(struct lruvec *lruvec, in update_lru_size() argument
55 __update_lru_size(lruvec, lru, zid, nr_pages); in update_lru_size()
57 mem_cgroup_update_lru_size(lruvec, lru, zid, nr_pages); in update_lru_size()
168 static inline bool lru_gen_is_active(struct lruvec *lruve argument
178 lru_gen_update_size(struct lruvec *lruvec, struct folio *folio, int old_gen, int new_gen) lru_gen_update_size() argument
224 lru_gen_add_folio(struct lruvec *lruvec, struct folio *folio, bool reclaiming) lru_gen_add_folio() argument
275 lru_gen_del_folio(struct lruvec *lruvec, struct folio *folio, bool reclaiming) lru_gen_del_folio() argument
309 lru_gen_add_folio(struct lruvec *lruvec, struct folio *folio, bool reclaiming) lru_gen_add_folio() argument
314 lru_gen_del_folio(struct lruvec *lruvec, struct folio *folio, bool reclaiming) lru_gen_del_folio() argument
322 lruvec_add_folio(struct lruvec *lruvec, struct folio *folio) lruvec_add_folio() argument
336 lruvec_add_folio_tail(struct lruvec *lruvec, struct folio *folio) lruvec_add_folio_tail() argument
350 lruvec_del_folio(struct lruvec *lruvec, struct folio *folio) lruvec_del_folio() argument
[all...]
H A Dmemcontrol.h132 struct lruvec lruvec; member
740 * @memcg: memcg of the wanted lruvec
744 * @pgdat combination. This can be the node lruvec, if the memory
747 static inline struct lruvec *mem_cgroup_lruvec(struct mem_cgroup *memcg, in mem_cgroup_lruvec()
751 struct lruvec *lruvec; in mem_cgroup_lruvec() local
754 lruvec = &pgdat->__lruvec; in mem_cgroup_lruvec()
762 lruvec = &mz->lruvec; in mem_cgroup_lruvec()
801 lruvec_memcg_debug(struct lruvec *lruvec, struct folio *folio) lruvec_memcg_debug() argument
880 lruvec_memcg(struct lruvec *lruvec) lruvec_memcg() argument
943 mem_cgroup_get_zone_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone_idx) mem_cgroup_get_zone_lru_size() argument
1035 lruvec_page_state(struct lruvec *lruvec, enum node_stat_item idx) lruvec_page_state() argument
1057 lruvec_page_state_local(struct lruvec *lruvec, enum node_stat_item idx) lruvec_page_state_local() argument
1097 mod_memcg_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx, int val) mod_memcg_lruvec_state() argument
1342 lruvec_memcg_debug(struct lruvec *lruvec, struct folio *folio) lruvec_memcg_debug() argument
1453 lruvec_memcg(struct lruvec *lruvec) lruvec_memcg() argument
1464 mem_cgroup_get_zone_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone_idx) mem_cgroup_get_zone_lru_size() argument
1564 lruvec_page_state(struct lruvec *lruvec, enum node_stat_item idx) lruvec_page_state() argument
1570 lruvec_page_state_local(struct lruvec *lruvec, enum node_stat_item idx) lruvec_page_state_local() argument
1584 __mod_memcg_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx, int val) __mod_memcg_lruvec_state() argument
1655 parent_lruvec(struct lruvec *lruvec) parent_lruvec() argument
1668 unlock_page_lruvec(struct lruvec *lruvec) unlock_page_lruvec() argument
1673 unlock_page_lruvec_irq(struct lruvec *lruvec) unlock_page_lruvec_irq() argument
1678 unlock_page_lruvec_irqrestore(struct lruvec *lruvec, unsigned long flags) unlock_page_lruvec_irqrestore() argument
1685 folio_matches_lruvec(struct folio *folio, struct lruvec *lruvec) folio_matches_lruvec() argument
[all...]
H A Dmmzone.h259 * Per-memcg and per-lruvec counters track memory, consumed in vmstat_item_in_bytes()
328 * An lruvec has many dirty pages backed by a congested BDI:
334 * Essentially, kswapd can unthrottle an lruvec throttled by cgroup
401 struct lruvec;
503 /* the lruvec under reclaim */
504 struct lruvec *lruvec; member
519 void lru_gen_init_lruvec(struct lruvec *lruvec);
608 static inline void lru_gen_init_lruvec(struct lruvec *lruve argument
646 struct lruvec { global() struct
1484 lruvec_pgdat(struct lruvec *lruvec) lruvec_pgdat() argument
1494 is_node_lruvec(struct lruvec *lruvec) is_node_lruvec() argument
[all...]
H A Dvmstat.h546 void __mod_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx,
549 static inline void mod_lruvec_state(struct lruvec *lruvec, in mod_lruvec_state() argument
555 __mod_lruvec_state(lruvec, idx, val); in mod_lruvec_state()
574 static inline void __mod_lruvec_state(struct lruvec *lruvec, in __mod_lruvec_state() argument
577 __mod_node_page_state(lruvec_pgdat(lruvec), idx, val); in __mod_lruvec_state()
580 static inline void mod_lruvec_state(struct lruvec *lruvec, in mod_lruvec_state() argument
[all...]
/kernel/linux/linux-5.10/include/linux/
H A Dmm_inline.h28 static __always_inline void __update_lru_size(struct lruvec *lruvec, in __update_lru_size() argument
32 struct pglist_data *pgdat = lruvec_pgdat(lruvec); in __update_lru_size()
34 __mod_lruvec_state(lruvec, NR_LRU_BASE + lru, nr_pages); in __update_lru_size()
39 static __always_inline void update_lru_size(struct lruvec *lruvec, in update_lru_size() argument
43 __update_lru_size(lruvec, lru, zid, nr_pages); in update_lru_size()
45 mem_cgroup_update_lru_size(lruvec, lru, zid, nr_pages); in update_lru_size()
50 struct lruvec *lruvec, enu in add_page_to_lru_list()
49 add_page_to_lru_list(struct page *page, struct lruvec *lruvec, enum lru_list lru) add_page_to_lru_list() argument
56 add_page_to_lru_list_tail(struct page *page, struct lruvec *lruvec, enum lru_list lru) add_page_to_lru_list_tail() argument
63 del_page_from_lru_list(struct page *page, struct lruvec *lruvec, enum lru_list lru) del_page_from_lru_list() argument
[all...]
H A Dmemcontrol.h114 struct lruvec lruvec; member
473 * @memcg: memcg of the wanted lruvec
476 * @node combination. This can be the node lruvec, if the memory
479 static inline struct lruvec *mem_cgroup_lruvec(struct mem_cgroup *memcg, in mem_cgroup_lruvec()
483 struct lruvec *lruvec; in mem_cgroup_lruvec() local
486 lruvec = &pgdat->__lruvec; in mem_cgroup_lruvec()
494 lruvec = &mz->lruvec; in mem_cgroup_lruvec()
580 lruvec_memcg(struct lruvec *lruvec) lruvec_memcg() argument
653 mem_cgroup_get_zone_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone_idx) mem_cgroup_get_zone_lru_size() argument
780 lruvec_page_state(struct lruvec *lruvec, enum node_stat_item idx) lruvec_page_state() argument
802 lruvec_page_state_local(struct lruvec *lruvec, enum node_stat_item idx) lruvec_page_state_local() argument
845 mod_memcg_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx, int val) mod_memcg_lruvec_state() argument
855 mod_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx, int val) mod_lruvec_state() argument
881 struct lruvec *lruvec; __mod_lruvec_page_state() local
1134 lruvec_memcg(struct lruvec *lruvec) lruvec_memcg() argument
1145 mem_cgroup_get_zone_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone_idx) mem_cgroup_get_zone_lru_size() argument
1251 lruvec_page_state(struct lruvec *lruvec, enum node_stat_item idx) lruvec_page_state() argument
1257 lruvec_page_state_local(struct lruvec *lruvec, enum node_stat_item idx) lruvec_page_state_local() argument
1263 __mod_memcg_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx, int val) __mod_memcg_lruvec_state() argument
1268 __mod_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx, int val) __mod_lruvec_state() argument
1274 mod_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx, int val) mod_lruvec_state() argument
1375 __inc_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx) __inc_lruvec_state() argument
1381 __dec_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx) __dec_lruvec_state() argument
1437 inc_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx) inc_lruvec_state() argument
1443 dec_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx) dec_lruvec_state() argument
1461 parent_lruvec(struct lruvec *lruvec) parent_lruvec() argument
[all...]
H A Dswap.h316 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);
386 struct lruvec *lruvec,
388 extern bool inactive_is_low(struct lruvec *lruvec, enu
[all...]

Completed in 32 milliseconds

12