Lines Matching refs:lruvec
215 static unsigned long get_lru_size(struct lruvec *lruvec, enum lru_list lru) in get_lru_size() argument
218 return mem_cgroup_get_lru_size(lruvec, lru); in get_lru_size()
220 return zone_page_state(lruvec_zone(lruvec), NR_LRU_BASE + lru); in get_lru_size()
1357 struct lruvec *lruvec, struct list_head *dst, in isolate_lru_pages() argument
1361 struct list_head *src = &lruvec->lists[lru]; in isolate_lru_pages()
1378 mem_cgroup_update_lru_size(lruvec, lru, -nr_pages); in isolate_lru_pages()
1432 struct lruvec *lruvec; in isolate_lru_page() local
1435 lruvec = mem_cgroup_page_lruvec(page, zone); in isolate_lru_page()
1440 del_page_from_lru_list(page, lruvec, lru); in isolate_lru_page()
1486 putback_inactive_pages(struct lruvec *lruvec, struct list_head *page_list) in putback_inactive_pages() argument
1488 struct zone_reclaim_stat *reclaim_stat = &lruvec->reclaim_stat; in putback_inactive_pages()
1489 struct zone *zone = lruvec_zone(lruvec); in putback_inactive_pages()
1508 lruvec = mem_cgroup_page_lruvec(page, zone); in putback_inactive_pages()
1512 add_page_to_lru_list(page, lruvec, lru); in putback_inactive_pages()
1522 del_page_from_lru_list(page, lruvec, lru); in putback_inactive_pages()
1558 shrink_inactive_list(unsigned long nr_to_scan, struct lruvec *lruvec, in shrink_inactive_list() argument
1572 struct zone *zone = lruvec_zone(lruvec); in shrink_inactive_list()
1573 struct zone_reclaim_stat *reclaim_stat = &lruvec->reclaim_stat; in shrink_inactive_list()
1592 nr_taken = isolate_lru_pages(nr_to_scan, lruvec, &page_list, in shrink_inactive_list()
1628 putback_inactive_pages(lruvec, &page_list); in shrink_inactive_list()
1720 static void move_active_pages_to_lru(struct lruvec *lruvec, in move_active_pages_to_lru() argument
1725 struct zone *zone = lruvec_zone(lruvec); in move_active_pages_to_lru()
1732 lruvec = mem_cgroup_page_lruvec(page, zone); in move_active_pages_to_lru()
1738 mem_cgroup_update_lru_size(lruvec, lru, nr_pages); in move_active_pages_to_lru()
1739 list_move(&page->lru, &lruvec->lists[lru]); in move_active_pages_to_lru()
1745 del_page_from_lru_list(page, lruvec, lru); in move_active_pages_to_lru()
1762 struct lruvec *lruvec, in shrink_active_list() argument
1773 struct zone_reclaim_stat *reclaim_stat = &lruvec->reclaim_stat; in shrink_active_list()
1777 struct zone *zone = lruvec_zone(lruvec); in shrink_active_list()
1788 nr_taken = isolate_lru_pages(nr_to_scan, lruvec, &l_hold, in shrink_active_list()
1852 move_active_pages_to_lru(lruvec, &l_active, &l_hold, lru); in shrink_active_list()
1853 move_active_pages_to_lru(lruvec, &l_inactive, &l_hold, lru - LRU_ACTIVE); in shrink_active_list()
1879 static bool inactive_anon_is_low(struct lruvec *lruvec) in inactive_anon_is_low() argument
1889 return mem_cgroup_inactive_anon_is_low(lruvec); in inactive_anon_is_low()
1891 return inactive_anon_is_low_global(lruvec_zone(lruvec)); in inactive_anon_is_low()
1894 static inline bool inactive_anon_is_low(struct lruvec *lruvec) in inactive_anon_is_low() argument
1914 static bool inactive_file_is_low(struct lruvec *lruvec) in inactive_file_is_low() argument
1919 inactive = get_lru_size(lruvec, LRU_INACTIVE_FILE); in inactive_file_is_low()
1920 active = get_lru_size(lruvec, LRU_ACTIVE_FILE); in inactive_file_is_low()
1925 static bool inactive_list_is_low(struct lruvec *lruvec, enum lru_list lru) in inactive_list_is_low() argument
1928 return inactive_file_is_low(lruvec); in inactive_list_is_low()
1930 return inactive_anon_is_low(lruvec); in inactive_list_is_low()
1934 struct lruvec *lruvec, struct scan_control *sc) in shrink_list() argument
1937 if (inactive_list_is_low(lruvec, lru)) in shrink_list()
1938 shrink_active_list(nr_to_scan, lruvec, sc, lru); in shrink_list()
1942 return shrink_inactive_list(nr_to_scan, lruvec, sc, lru); in shrink_list()
1961 static void get_scan_count(struct lruvec *lruvec, int swappiness, in get_scan_count() argument
1965 struct zone_reclaim_stat *reclaim_stat = &lruvec->reclaim_stat; in get_scan_count()
1968 struct zone *zone = lruvec_zone(lruvec); in get_scan_count()
1991 if (!mem_cgroup_lruvec_online(lruvec)) in get_scan_count()
2052 if (!inactive_file_is_low(lruvec)) { in get_scan_count()
2078 anon = get_lru_size(lruvec, LRU_ACTIVE_ANON) + in get_scan_count()
2079 get_lru_size(lruvec, LRU_INACTIVE_ANON); in get_scan_count()
2080 file = get_lru_size(lruvec, LRU_ACTIVE_FILE) + in get_scan_count()
2081 get_lru_size(lruvec, LRU_INACTIVE_FILE); in get_scan_count()
2119 size = get_lru_size(lruvec, lru); in get_scan_count()
2182 static void shrink_lruvec(struct lruvec *lruvec, int swappiness, in shrink_lruvec() argument
2194 get_scan_count(lruvec, swappiness, sc, nr, lru_pages); in shrink_lruvec()
2227 lruvec, sc); in shrink_lruvec()
2292 if (inactive_anon_is_low(lruvec)) in shrink_lruvec()
2293 shrink_active_list(SWAP_CLUSTER_MAX, lruvec, in shrink_lruvec()
2397 struct lruvec *lruvec; in shrink_zone() local
2406 lruvec = mem_cgroup_zone_lruvec(zone, memcg); in shrink_zone()
2410 shrink_lruvec(lruvec, swappiness, sc, &lru_pages); in shrink_zone()
2874 struct lruvec *lruvec = mem_cgroup_zone_lruvec(zone, memcg); in mem_cgroup_shrink_node_zone() local
2892 shrink_lruvec(lruvec, swappiness, &sc, &lru_pages); in mem_cgroup_shrink_node_zone()
2949 struct lruvec *lruvec = mem_cgroup_zone_lruvec(zone, memcg); in age_active_anon() local
2951 if (inactive_anon_is_low(lruvec)) in age_active_anon()
2952 shrink_active_list(SWAP_CLUSTER_MAX, lruvec, in age_active_anon()
3849 struct lruvec *lruvec; in check_move_unevictable_pages() local
3867 lruvec = mem_cgroup_page_lruvec(page, zone); in check_move_unevictable_pages()
3877 del_page_from_lru_list(page, lruvec, LRU_UNEVICTABLE); in check_move_unevictable_pages()
3878 add_page_to_lru_list(page, lruvec, lru); in check_move_unevictable_pages()