Lines Matching refs:lru
189 if ((_folio)->lru.prev != _base) { \
192 prev = lru_to_folio(&(_folio->lru)); \
387 static unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru, in lruvec_lru_size() argument
400 size += mem_cgroup_get_zone_lru_size(lruvec, lru, zid); in lruvec_lru_size()
402 size += zone_page_state(zone, NR_ZONE_LRU_BASE + lru); in lruvec_lru_size()
1070 list_del(&folio->lru); in shrink_folio_list()
1193 list_add_tail(&folio->lru, folio_list); in shrink_folio_list()
1218 list_add(&folio->lru, &demote_folios); in shrink_folio_list()
1511 list_add(&folio->lru, &ret_folios); in shrink_folio_list()
1574 list_for_each_entry_safe(folio, next, folio_list, lru) { in reclaim_clean_pages_from_list()
1579 list_move(&folio->lru, &clean_folios); in reclaim_clean_pages_from_list()
1615 enum lru_list lru, unsigned long *nr_zone_taken) in update_lru_sizes() argument
1623 update_lru_size(lruvec, lru, zid, -nr_zone_taken[zid]); in update_lru_sizes()
1652 enum lru_list lru) in isolate_lru_folios() argument
1654 struct list_head *src = &lruvec->lists[lru]; in isolate_lru_folios()
1712 list_move(&folio->lru, move_to); in isolate_lru_folios()
1736 total_scan, skipped, nr_taken, lru); in isolate_lru_folios()
1737 update_lru_sizes(lruvec, lru, nr_zone_taken); in isolate_lru_folios()
1843 list_del(&folio->lru); in move_folios_to_lru()
1916 enum lru_list lru) in shrink_inactive_list() argument
1923 bool file = is_file_lru(lru); in shrink_inactive_list()
1946 &nr_scanned, sc, lru); in shrink_inactive_list()
2037 enum lru_list lru) in shrink_active_list() argument
2047 bool file = is_file_lru(lru); in shrink_active_list()
2055 &nr_scanned, sc, lru); in shrink_active_list()
2070 list_del(&folio->lru); in shrink_active_list()
2099 list_add(&folio->lru, &l_active); in shrink_active_list()
2106 list_add(&folio->lru, &l_inactive); in shrink_active_list()
2146 list_del(&folio->lru); in reclaim_folio_list()
2171 list_move(&folio->lru, &node_folio_list); in reclaim_pages()
2186 static unsigned long shrink_list(enum lru_list lru, unsigned long nr_to_scan, in shrink_list() argument
2189 if (is_active_lru(lru)) { in shrink_list()
2190 if (sc->may_deactivate & (1 << is_file_lru(lru))) in shrink_list()
2191 shrink_active_list(nr_to_scan, lruvec, sc, lru); in shrink_list()
2197 return shrink_inactive_list(nr_to_scan, lruvec, sc, lru); in shrink_list()
2380 enum lru_list lru; in get_scan_count() local
2458 for_each_evictable_lru(lru) { in get_scan_count()
2459 bool file = is_file_lru(lru); in get_scan_count()
2464 lruvec_size = lruvec_lru_size(lruvec, lru, sc->reclaim_idx); in get_scan_count()
2562 nr[lru] = scan; in get_scan_count()
3213 enum lru_list lru = type * LRU_INACTIVE_FILE; in reset_batch_size() local
3224 lru += LRU_ACTIVE; in reset_batch_size()
3225 __update_lru_size(lruvec, lru, zone, delta); in reset_batch_size()
3740 list_move_tail(&folio->lru, &lrugen->folios[new_gen][type][zone]); in inc_min_seq()
3840 enum lru_list lru = type * LRU_INACTIVE_FILE; in inc_max_seq() local
3847 __update_lru_size(lruvec, lru, zone, delta); in inc_max_seq()
3848 __update_lru_size(lruvec, lru + LRU_ACTIVE, zone, -delta); in inc_max_seq()
4315 list_move(&folio->lru, &lrugen->folios[gen][type][zone]); in sort_folio()
4324 list_move_tail(&folio->lru, &lrugen->folios[gen][type][zone]); in sort_folio()
4334 list_move_tail(&folio->lru, &lrugen->folios[gen][type][zone]); in sort_folio()
4342 list_move(&folio->lru, &lrugen->folios[gen][type][zone]); in sort_folio()
4424 list_add(&folio->lru, list); in scan_folios()
4427 list_move(&folio->lru, &moved); in scan_folios()
4595 list_for_each_entry_safe_reverse(folio, next, &list, lru) { in evict_folios()
4597 list_del(&folio->lru); in evict_folios()
4620 list_move(&folio->lru, &clean); in evict_folios()
4985 enum lru_list lru; in state_is_valid() local
4987 for_each_evictable_lru(lru) { in state_is_valid()
4988 if (!list_empty(&lruvec->lists[lru])) in state_is_valid()
5005 enum lru_list lru; in fill_evictable() local
5008 for_each_evictable_lru(lru) { in fill_evictable()
5009 int type = is_file_lru(lru); in fill_evictable()
5010 bool active = is_active_lru(lru); in fill_evictable()
5011 struct list_head *head = &lruvec->lists[lru]; in fill_evictable()
5674 enum lru_list lru; in shrink_lruvec() local
5710 for_each_evictable_lru(lru) { in shrink_lruvec()
5711 if (nr[lru]) { in shrink_lruvec()
5712 nr_to_scan = min(nr[lru], SWAP_CLUSTER_MAX); in shrink_lruvec()
5713 nr[lru] -= nr_to_scan; in shrink_lruvec()
5715 nr_reclaimed += shrink_list(lru, nr_to_scan, in shrink_lruvec()
5747 lru = LRU_BASE; in shrink_lruvec()
5752 lru = LRU_FILE; in shrink_lruvec()
5757 nr[lru] = 0; in shrink_lruvec()
5758 nr[lru + LRU_ACTIVE] = 0; in shrink_lruvec()
5764 lru = (lru == LRU_FILE) ? LRU_BASE : LRU_FILE; in shrink_lruvec()
5765 nr_scanned = targets[lru] - nr[lru]; in shrink_lruvec()
5766 nr[lru] = targets[lru] * (100 - percentage) / 100; in shrink_lruvec()
5767 nr[lru] -= min(nr[lru], nr_scanned); in shrink_lruvec()
5769 lru += LRU_ACTIVE; in shrink_lruvec()
5770 nr_scanned = targets[lru] - nr[lru]; in shrink_lruvec()
5771 nr[lru] = targets[lru] * (100 - percentage) / 100; in shrink_lruvec()
5772 nr[lru] -= min(nr[lru], nr_scanned); in shrink_lruvec()