Home
last modified time | relevance | path

Searched refs:lrugen (Results 1 – 5 of 5) sorted by relevance

/linux-6.6.21/include/linux/
Dmm_inline.h166 unsigned long max_seq = lruvec->lrugen.max_seq; in lru_gen_is_active()
181 struct lru_gen_folio *lrugen = &lruvec->lrugen; in lru_gen_update_size() local
188 WRITE_ONCE(lrugen->nr_pages[old_gen][type][zone], in lru_gen_update_size()
189 lrugen->nr_pages[old_gen][type][zone] - delta); in lru_gen_update_size()
191 WRITE_ONCE(lrugen->nr_pages[new_gen][type][zone], in lru_gen_update_size()
192 lrugen->nr_pages[new_gen][type][zone] + delta); in lru_gen_update_size()
227 struct lru_gen_folio *lrugen = &lruvec->lrugen; in lru_gen_add_folio() local
231 if (folio_test_unevictable(folio) || !lrugen->enabled) in lru_gen_add_folio()
246 seq = lrugen->max_seq; in lru_gen_add_folio()
250 seq = lrugen->max_seq - 1; in lru_gen_add_folio()
[all …]
Dmmzone.h637 struct lru_gen_folio lrugen; member
/linux-6.6.21/mm/
Dvmscan.c3264 unsigned long max_seq = READ_ONCE((lruvec)->lrugen.max_seq)
3268 READ_ONCE((lruvec)->lrugen.min_seq[LRU_GEN_ANON]), \
3269 READ_ONCE((lruvec)->lrugen.min_seq[LRU_GEN_FILE]), \
3317 return lruvec->lrugen.max_seq - lruvec->lrugen.min_seq[type] + 1; in get_nr_gens()
3707 struct lru_gen_folio *lrugen = &lruvec->lrugen; in read_ctrl_pos() local
3708 int hist = lru_hist_from_seq(lrugen->min_seq[type]); in read_ctrl_pos()
3710 pos->refaulted = lrugen->avg_refaulted[type][tier] + in read_ctrl_pos()
3711 atomic_long_read(&lrugen->refaulted[hist][type][tier]); in read_ctrl_pos()
3712 pos->total = lrugen->avg_total[type][tier] + in read_ctrl_pos()
3713 atomic_long_read(&lrugen->evicted[hist][type][tier]); in read_ctrl_pos()
[all …]
Dworkingset.c237 struct lru_gen_folio *lrugen; in lru_gen_eviction() local
248 lrugen = &lruvec->lrugen; in lru_gen_eviction()
249 min_seq = READ_ONCE(lrugen->min_seq[type]); in lru_gen_eviction()
253 atomic_long_add(delta, &lrugen->evicted[hist][type][tier]); in lru_gen_eviction()
275 min_seq = READ_ONCE((*lruvec)->lrugen.min_seq[file]); in lru_gen_test_recent()
286 struct lru_gen_folio *lrugen; in lru_gen_refault() local
301 lrugen = &lruvec->lrugen; in lru_gen_refault()
303 hist = lru_hist_from_seq(READ_ONCE(lrugen->min_seq[type])); in lru_gen_refault()
308 atomic_long_add(delta, &lrugen->refaulted[hist][type][tier]); in lru_gen_refault()
/linux-6.6.21/Documentation/mm/
Dmultigen_lru.rst84 ``lrugen->max_seq`` for both anon and file types as they are aged on
86 ``lrugen->min_seq[]`` separately for anon and file types as clean file
92 truncated generation number is an index to ``lrugen->folios[]``. The
96 ``lrugen->folios[]``; otherwise it stores zero.
100 generations, tiers do not have dedicated ``lrugen->folios[]``. In
131 increments ``min_seq`` when ``lrugen->folios[]`` indexed by