Lines Matching refs:lruvec

591 static unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru,  in lruvec_lru_size()  argument
598 struct zone *zone = &lruvec_pgdat(lruvec)->node_zones[zid]; in lruvec_lru_size()
604 size += mem_cgroup_get_zone_lru_size(lruvec, lru, zid); in lruvec_lru_size()
2081 static __always_inline void update_lru_sizes(struct lruvec *lruvec, in update_lru_sizes() argument
2090 update_lru_size(lruvec, lru, zid, -nr_zone_taken[zid]); in update_lru_sizes()
2117 struct lruvec *lruvec, struct list_head *dst, in isolate_lru_pages() argument
2121 struct list_head *src = &lruvec->lists[lru]; in isolate_lru_pages()
2207 update_lru_sizes(lruvec, lru, nr_zone_taken); in isolate_lru_pages()
2246 struct lruvec *lruvec; in isolate_lru_page() local
2249 lruvec = folio_lruvec_lock_irq(folio); in isolate_lru_page()
2250 del_page_from_lru_list(page, lruvec); in isolate_lru_page()
2251 unlock_page_lruvec_irq(lruvec); in isolate_lru_page()
2308 static unsigned int move_pages_to_lru(struct lruvec *lruvec, in move_pages_to_lru() argument
2320 spin_unlock_irq(&lruvec->lru_lock); in move_pages_to_lru()
2322 spin_lock_irq(&lruvec->lru_lock); in move_pages_to_lru()
2343 spin_unlock_irq(&lruvec->lru_lock); in move_pages_to_lru()
2345 spin_lock_irq(&lruvec->lru_lock); in move_pages_to_lru()
2356 VM_BUG_ON_PAGE(!folio_matches_lruvec(page_folio(page), lruvec), page); in move_pages_to_lru()
2357 add_page_to_lru_list(page, lruvec); in move_pages_to_lru()
2361 workingset_age_nonresident(lruvec, nr_pages); in move_pages_to_lru()
2390 shrink_inactive_list(unsigned long nr_to_scan, struct lruvec *lruvec, in shrink_inactive_list() argument
2400 struct pglist_data *pgdat = lruvec_pgdat(lruvec); in shrink_inactive_list()
2418 spin_lock_irq(&lruvec->lru_lock); in shrink_inactive_list()
2420 nr_taken = isolate_lru_pages(nr_to_scan, lruvec, &page_list, in shrink_inactive_list()
2427 __count_memcg_events(lruvec_memcg(lruvec), item, nr_scanned); in shrink_inactive_list()
2430 spin_unlock_irq(&lruvec->lru_lock); in shrink_inactive_list()
2437 spin_lock_irq(&lruvec->lru_lock); in shrink_inactive_list()
2438 move_pages_to_lru(lruvec, &page_list); in shrink_inactive_list()
2444 __count_memcg_events(lruvec_memcg(lruvec), item, nr_reclaimed); in shrink_inactive_list()
2446 spin_unlock_irq(&lruvec->lru_lock); in shrink_inactive_list()
2448 lru_note_cost(lruvec, file, stat.nr_pageout); in shrink_inactive_list()
2498 struct lruvec *lruvec, in shrink_active_list() argument
2512 struct pglist_data *pgdat = lruvec_pgdat(lruvec); in shrink_active_list()
2516 spin_lock_irq(&lruvec->lru_lock); in shrink_active_list()
2518 nr_taken = isolate_lru_pages(nr_to_scan, lruvec, &l_hold, in shrink_active_list()
2525 __count_memcg_events(lruvec_memcg(lruvec), PGREFILL, nr_scanned); in shrink_active_list()
2527 spin_unlock_irq(&lruvec->lru_lock); in shrink_active_list()
2573 spin_lock_irq(&lruvec->lru_lock); in shrink_active_list()
2575 nr_activate = move_pages_to_lru(lruvec, &l_active); in shrink_active_list()
2576 nr_deactivate = move_pages_to_lru(lruvec, &l_inactive); in shrink_active_list()
2581 __count_memcg_events(lruvec_memcg(lruvec), PGDEACTIVATE, nr_deactivate); in shrink_active_list()
2584 spin_unlock_irq(&lruvec->lru_lock); in shrink_active_list()
2652 struct lruvec *lruvec, struct scan_control *sc) in shrink_list() argument
2656 shrink_active_list(nr_to_scan, lruvec, sc, lru); in shrink_list()
2662 return shrink_inactive_list(nr_to_scan, lruvec, sc, lru); in shrink_list()
2693 static bool inactive_is_low(struct lruvec *lruvec, enum lru_list inactive_lru) in inactive_is_low() argument
2700 inactive = lruvec_page_state(lruvec, NR_LRU_BASE + inactive_lru); in inactive_is_low()
2701 active = lruvec_page_state(lruvec, NR_LRU_BASE + active_lru); in inactive_is_low()
2728 static void get_scan_count(struct lruvec *lruvec, struct scan_control *sc, in get_scan_count() argument
2731 struct pglist_data *pgdat = lruvec_pgdat(lruvec); in get_scan_count()
2732 struct mem_cgroup *memcg = lruvec_memcg(lruvec); in get_scan_count()
2823 lruvec_size = lruvec_lru_size(lruvec, lru, sc->reclaim_idx); in get_scan_count()
2940 static void shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc) in shrink_lruvec() argument
2951 get_scan_count(lruvec, sc, nr); in shrink_lruvec()
2982 lruvec, sc); in shrink_lruvec()
3049 if (can_age_anon_pages(lruvec_pgdat(lruvec), sc) && in shrink_lruvec()
3050 inactive_is_low(lruvec, LRU_INACTIVE_ANON)) in shrink_lruvec()
3051 shrink_active_list(SWAP_CLUSTER_MAX, lruvec, in shrink_lruvec()
3133 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdat); in shrink_node_memcgs() local
3170 shrink_lruvec(lruvec, sc); in shrink_node_memcgs()
3187 struct lruvec *target_lruvec; in shrink_node()
3545 struct lruvec *target_lruvec; in snapshot_refaults()
3614 struct lruvec *lruvec; in do_try_to_free_pages() local
3616 lruvec = mem_cgroup_lruvec(sc->target_mem_cgroup, in do_try_to_free_pages()
3618 clear_bit(LRUVEC_CONGESTED, &lruvec->flags); in do_try_to_free_pages()
3839 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdat); in mem_cgroup_shrink_node() local
3864 shrink_lruvec(lruvec, &sc); in mem_cgroup_shrink_node()
3916 struct lruvec *lruvec; in age_active_anon() local
3921 lruvec = mem_cgroup_lruvec(NULL, pgdat); in age_active_anon()
3922 if (!inactive_is_low(lruvec, LRU_INACTIVE_ANON)) in age_active_anon()
3927 lruvec = mem_cgroup_lruvec(memcg, pgdat); in age_active_anon()
3928 shrink_active_list(SWAP_CLUSTER_MAX, lruvec, in age_active_anon()
3997 struct lruvec *lruvec = mem_cgroup_lruvec(NULL, pgdat); in clear_pgdat_congested() local
3999 clear_bit(LRUVEC_CONGESTED, &lruvec->flags); in clear_pgdat_congested()
4853 struct lruvec *lruvec = NULL; in check_move_unevictable_pages() local
4873 lruvec = folio_lruvec_relock_irq(folio, lruvec); in check_move_unevictable_pages()
4875 del_page_from_lru_list(page, lruvec); in check_move_unevictable_pages()
4877 add_page_to_lru_list(page, lruvec); in check_move_unevictable_pages()
4883 if (lruvec) { in check_move_unevictable_pages()
4886 unlock_page_lruvec_irq(lruvec); in check_move_unevictable_pages()