Lines Matching refs:lruvec
352 unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone_idx) in lruvec_lru_size() argument
359 lru_size += mem_cgroup_get_zone_lru_size(lruvec, lru, zid); in lruvec_lru_size()
361 lru_size = node_page_state(lruvec_pgdat(lruvec), NR_LRU_BASE + lru); in lruvec_lru_size()
364 struct zone *zone = &lruvec_pgdat(lruvec)->node_zones[zid]; in lruvec_lru_size()
371 size = mem_cgroup_get_zone_lru_size(lruvec, lru, zid); in lruvec_lru_size()
373 size = zone_page_state(&lruvec_pgdat(lruvec)->node_zones[zid], in lruvec_lru_size()
1646 static __always_inline void update_lru_sizes(struct lruvec *lruvec, in update_lru_sizes() argument
1655 __update_lru_size(lruvec, lru, zid, -nr_zone_taken[zid]); in update_lru_sizes()
1657 mem_cgroup_update_lru_size(lruvec, lru, zid, -nr_zone_taken[zid]); in update_lru_sizes()
1684 struct lruvec *lruvec, struct list_head *dst, in isolate_lru_pages() argument
1688 struct list_head *src = &lruvec->lists[lru]; in isolate_lru_pages()
1766 update_lru_sizes(lruvec, lru, nr_zone_taken); in isolate_lru_pages()
1805 struct lruvec *lruvec; in isolate_lru_page() local
1808 lruvec = mem_cgroup_page_lruvec(page, pgdat); in isolate_lru_page()
1813 del_page_from_lru_list(page, lruvec, lru); in isolate_lru_page()
1878 static unsigned noinline_for_stack move_pages_to_lru(struct lruvec *lruvec, in move_pages_to_lru() argument
1881 struct pglist_data *pgdat = lruvec_pgdat(lruvec); in move_pages_to_lru()
1897 lruvec = mem_cgroup_page_lruvec(page, pgdat); in move_pages_to_lru()
1903 update_lru_size(lruvec, lru, page_zonenum(page), nr_pages); in move_pages_to_lru()
1904 list_move(&page->lru, &lruvec->lists[lru]); in move_pages_to_lru()
1909 del_page_from_lru_list(page, lruvec, lru); in move_pages_to_lru()
1948 shrink_inactive_list(unsigned long nr_to_scan, struct lruvec *lruvec, in shrink_inactive_list() argument
1958 struct pglist_data *pgdat = lruvec_pgdat(lruvec); in shrink_inactive_list()
1959 struct zone_reclaim_stat *reclaim_stat = &lruvec->reclaim_stat; in shrink_inactive_list()
1979 nr_taken = isolate_lru_pages(nr_to_scan, lruvec, &page_list, in shrink_inactive_list()
1988 __count_memcg_events(lruvec_memcg(lruvec), item, nr_scanned); in shrink_inactive_list()
2002 __count_memcg_events(lruvec_memcg(lruvec), item, nr_reclaimed); in shrink_inactive_list()
2006 move_pages_to_lru(lruvec, &page_list); in shrink_inactive_list()
2044 struct lruvec *lruvec, in shrink_active_list() argument
2055 struct zone_reclaim_stat *reclaim_stat = &lruvec->reclaim_stat; in shrink_active_list()
2059 struct pglist_data *pgdat = lruvec_pgdat(lruvec); in shrink_active_list()
2065 nr_taken = isolate_lru_pages(nr_to_scan, lruvec, &l_hold, in shrink_active_list()
2072 __count_memcg_events(lruvec_memcg(lruvec), PGREFILL, nr_scanned); in shrink_active_list()
2129 nr_activate = move_pages_to_lru(lruvec, &l_active); in shrink_active_list()
2130 nr_deactivate = move_pages_to_lru(lruvec, &l_inactive); in shrink_active_list()
2135 __count_memcg_events(lruvec_memcg(lruvec), PGDEACTIVATE, nr_deactivate); in shrink_active_list()
2230 static bool inactive_list_is_low(struct lruvec *lruvec, bool file, in inactive_list_is_low() argument
2234 struct pglist_data *pgdat = lruvec_pgdat(lruvec); in inactive_list_is_low()
2248 inactive = lruvec_lru_size(lruvec, inactive_lru, sc->reclaim_idx); in inactive_list_is_low()
2249 active = lruvec_lru_size(lruvec, active_lru, sc->reclaim_idx); in inactive_list_is_low()
2256 refaults = lruvec_page_state_local(lruvec, WORKINGSET_ACTIVATE); in inactive_list_is_low()
2257 if (file && lruvec->refaults != refaults) { in inactive_list_is_low()
2269 lruvec_lru_size(lruvec, inactive_lru, MAX_NR_ZONES), inactive, in inactive_list_is_low()
2270 lruvec_lru_size(lruvec, active_lru, MAX_NR_ZONES), active, in inactive_list_is_low()
2277 struct lruvec *lruvec, struct scan_control *sc) in shrink_list() argument
2280 if (inactive_list_is_low(lruvec, is_file_lru(lru), sc, true)) in shrink_list()
2281 shrink_active_list(nr_to_scan, lruvec, sc, lru); in shrink_list()
2285 return shrink_inactive_list(nr_to_scan, lruvec, sc, lru); in shrink_list()
2304 static void get_scan_count(struct lruvec *lruvec, struct mem_cgroup *memcg, in get_scan_count() argument
2309 struct zone_reclaim_stat *reclaim_stat = &lruvec->reclaim_stat; in get_scan_count()
2312 struct pglist_data *pgdat = lruvec_pgdat(lruvec); in get_scan_count()
2380 if (!inactive_list_is_low(lruvec, false, sc, false) && in get_scan_count()
2381 lruvec_lru_size(lruvec, LRU_INACTIVE_ANON, sc->reclaim_idx) in get_scan_count()
2398 if (!inactive_list_is_low(lruvec, true, sc, false) && in get_scan_count()
2399 lruvec_lru_size(lruvec, LRU_INACTIVE_FILE, sc->reclaim_idx) >> sc->priority) { in get_scan_count()
2425 anon = lruvec_lru_size(lruvec, LRU_ACTIVE_ANON, MAX_NR_ZONES) + in get_scan_count()
2426 lruvec_lru_size(lruvec, LRU_INACTIVE_ANON, MAX_NR_ZONES); in get_scan_count()
2427 file = lruvec_lru_size(lruvec, LRU_ACTIVE_FILE, MAX_NR_ZONES) + in get_scan_count()
2428 lruvec_lru_size(lruvec, LRU_INACTIVE_FILE, MAX_NR_ZONES); in get_scan_count()
2464 lruvec_size = lruvec_lru_size(lruvec, lru, sc->reclaim_idx); in get_scan_count()
2563 struct lruvec *lruvec = mem_cgroup_lruvec(pgdat, memcg); in shrink_node_memcg() local
2573 get_scan_count(lruvec, memcg, sc, nr, lru_pages); in shrink_node_memcg()
2604 lruvec, sc); in shrink_node_memcg()
2671 if (inactive_list_is_low(lruvec, false, sc, true)) in shrink_node_memcg()
2672 shrink_active_list(SWAP_CLUSTER_MAX, lruvec, in shrink_node_memcg()
3042 struct lruvec *lruvec; in snapshot_refaults() local
3044 lruvec = mem_cgroup_lruvec(pgdat, memcg); in snapshot_refaults()
3045 refaults = lruvec_page_state_local(lruvec, WORKINGSET_ACTIVATE); in snapshot_refaults()
3046 lruvec->refaults = refaults; in snapshot_refaults()
3405 struct lruvec *lruvec = mem_cgroup_lruvec(pgdat, memcg); in age_active_anon() local
3407 if (inactive_list_is_low(lruvec, false, sc, true)) in age_active_anon()
3408 shrink_active_list(SWAP_CLUSTER_MAX, lruvec, in age_active_anon()
4337 struct lruvec *lruvec; in check_move_unevictable_pages() local
4354 lruvec = mem_cgroup_page_lruvec(page, pgdat); in check_move_unevictable_pages()
4364 del_page_from_lru_list(page, lruvec, LRU_UNEVICTABLE); in check_move_unevictable_pages()
4365 add_page_to_lru_list(page, lruvec, lru); in check_move_unevictable_pages()