Lines Matching refs:lru
189 if ((_folio)->lru.prev != _base) { \
192 prev = lru_to_folio(&(_folio->lru)); \
394 static unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru, in lruvec_lru_size() argument
407 size += mem_cgroup_get_zone_lru_size(lruvec, lru, zid); in lruvec_lru_size()
409 size += zone_page_state(zone, NR_ZONE_LRU_BASE + lru); in lruvec_lru_size()
1110 list_del(&folio->lru); in shrink_folio_list()
1228 list_add_tail(&folio->lru, folio_list); in shrink_folio_list()
1253 list_add(&folio->lru, &demote_folios); in shrink_folio_list()
1546 list_add(&folio->lru, &ret_folios); in shrink_folio_list()
1610 list_for_each_entry_safe(folio, next, folio_list, lru) { in reclaim_clean_pages_from_list()
1615 list_move(&folio->lru, &clean_folios); in reclaim_clean_pages_from_list()
1651 enum lru_list lru, unsigned long *nr_zone_taken) in update_lru_sizes() argument
1659 update_lru_size(lruvec, lru, zid, -nr_zone_taken[zid]); in update_lru_sizes()
1688 enum lru_list lru) in isolate_lru_folios() argument
1690 struct list_head *src = &lruvec->lists[lru]; in isolate_lru_folios()
1752 list_move(&folio->lru, move_to); in isolate_lru_folios()
1776 total_scan, skipped, nr_taken, lru); in isolate_lru_folios()
1777 update_lru_sizes(lruvec, lru, nr_zone_taken); in isolate_lru_folios()
1883 list_del(&folio->lru); in move_folios_to_lru()
1956 enum lru_list lru) in shrink_inactive_list() argument
1963 bool file = is_file_lru(lru); in shrink_inactive_list()
1986 &nr_scanned, sc, lru); in shrink_inactive_list()
2077 enum lru_list lru) in shrink_active_list() argument
2087 bool file = is_file_lru(lru); in shrink_active_list()
2095 &nr_scanned, sc, lru); in shrink_active_list()
2110 list_del(&folio->lru); in shrink_active_list()
2139 list_add(&folio->lru, &l_active); in shrink_active_list()
2146 list_add(&folio->lru, &l_inactive); in shrink_active_list()
2186 list_del(&folio->lru); in reclaim_folio_list()
2212 list_move(&folio->lru, &node_folio_list); in reclaim_pages()
2227 static unsigned long shrink_list(enum lru_list lru, unsigned long nr_to_scan, in shrink_list() argument
2230 if (is_active_lru(lru)) { in shrink_list()
2231 if (sc->may_deactivate & (1 << is_file_lru(lru))) in shrink_list()
2232 shrink_active_list(nr_to_scan, lruvec, sc, lru); in shrink_list()
2238 return shrink_inactive_list(nr_to_scan, lruvec, sc, lru); in shrink_list()
2421 enum lru_list lru; in get_scan_count() local
2499 for_each_evictable_lru(lru) { in get_scan_count()
2500 bool file = is_file_lru(lru); in get_scan_count()
2505 lruvec_size = lruvec_lru_size(lruvec, lru, sc->reclaim_idx); in get_scan_count()
2603 nr[lru] = scan; in get_scan_count()
3268 enum lru_list lru = type * LRU_INACTIVE_FILE; in reset_batch_size() local
3279 lru += LRU_ACTIVE; in reset_batch_size()
3280 __update_lru_size(lruvec, lru, zone, delta); in reset_batch_size()
3833 list_move_tail(&folio->lru, &lrugen->folios[new_gen][type][zone]); in inc_min_seq()
3943 enum lru_list lru = type * LRU_INACTIVE_FILE; in inc_max_seq() local
3950 __update_lru_size(lruvec, lru, zone, delta); in inc_max_seq()
3951 __update_lru_size(lruvec, lru + LRU_ACTIVE, zone, -delta); in inc_max_seq()
4409 list_move(&folio->lru, &lrugen->folios[gen][type][zone]); in sort_folio()
4416 list_move(&folio->lru, &lrugen->folios[gen][type][zone]); in sort_folio()
4431 list_move_tail(&folio->lru, &lrugen->folios[gen][type][zone]); in sort_folio()
4446 list_move(&folio->lru, &lrugen->folios[gen][type][zone]); in sort_folio()
4527 list_add(&folio->lru, list); in scan_folios()
4530 list_move(&folio->lru, &moved); in scan_folios()
4667 list_for_each_entry_safe_reverse(folio, next, &list, lru) { in evict_folios()
4671 list_del(&folio->lru); in evict_folios()
4679 list_move(&folio->lru, &clean); in evict_folios()
5029 enum lru_list lru; in state_is_valid() local
5031 for_each_evictable_lru(lru) { in state_is_valid()
5032 if (!list_empty(&lruvec->lists[lru])) in state_is_valid()
5049 enum lru_list lru; in fill_evictable() local
5052 for_each_evictable_lru(lru) { in fill_evictable()
5053 int type = is_file_lru(lru); in fill_evictable()
5054 bool active = is_active_lru(lru); in fill_evictable()
5055 struct list_head *head = &lruvec->lists[lru]; in fill_evictable()
5708 enum lru_list lru; in shrink_lruvec() local
5744 for_each_evictable_lru(lru) { in shrink_lruvec()
5745 if (nr[lru]) { in shrink_lruvec()
5746 nr_to_scan = min(nr[lru], SWAP_CLUSTER_MAX); in shrink_lruvec()
5747 nr[lru] -= nr_to_scan; in shrink_lruvec()
5749 nr_reclaimed += shrink_list(lru, nr_to_scan, in shrink_lruvec()
5781 lru = LRU_BASE; in shrink_lruvec()
5786 lru = LRU_FILE; in shrink_lruvec()
5791 nr[lru] = 0; in shrink_lruvec()
5792 nr[lru + LRU_ACTIVE] = 0; in shrink_lruvec()
5798 lru = (lru == LRU_FILE) ? LRU_BASE : LRU_FILE; in shrink_lruvec()
5799 nr_scanned = targets[lru] - nr[lru]; in shrink_lruvec()
5800 nr[lru] = targets[lru] * (100 - percentage) / 100; in shrink_lruvec()
5801 nr[lru] -= min(nr[lru], nr_scanned); in shrink_lruvec()
5803 lru += LRU_ACTIVE; in shrink_lruvec()
5804 nr_scanned = targets[lru] - nr[lru]; in shrink_lruvec()
5805 nr[lru] = targets[lru] * (100 - percentage) / 100; in shrink_lruvec()
5806 nr[lru] -= min(nr[lru], nr_scanned); in shrink_lruvec()