Home
last modified time | relevance | path

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

/linux-6.12.1/include/linux/
Dmm_inline.h167 unsigned long max_seq = lruvec->lrugen.max_seq; in lru_gen_is_active()
182 struct lru_gen_folio *lrugen = &lruvec->lrugen; in lru_gen_update_size() local
189 WRITE_ONCE(lrugen->nr_pages[old_gen][type][zone], in lru_gen_update_size()
190 lrugen->nr_pages[old_gen][type][zone] - delta); in lru_gen_update_size()
192 WRITE_ONCE(lrugen->nr_pages[new_gen][type][zone], in lru_gen_update_size()
193 lrugen->nr_pages[new_gen][type][zone] + delta); in lru_gen_update_size()
228 struct lru_gen_folio *lrugen = &lruvec->lrugen; in lru_gen_add_folio() local
232 if (folio_test_unevictable(folio) || !lrugen->enabled) in lru_gen_add_folio()
247 seq = lrugen->max_seq; in lru_gen_add_folio()
251 seq = lrugen->max_seq - 1; in lru_gen_add_folio()
[all …]
Dmmzone.h627 struct lru_gen_folio lrugen; member
/linux-6.12.1/mm/
Dvmscan.c2608 unsigned long max_seq = READ_ONCE((lruvec)->lrugen.max_seq)
2612 READ_ONCE((lruvec)->lrugen.min_seq[LRU_GEN_ANON]), \
2613 READ_ONCE((lruvec)->lrugen.min_seq[LRU_GEN_FILE]), \
2661 return lruvec->lrugen.max_seq - lruvec->lrugen.min_seq[type] + 1; in get_nr_gens()
3070 struct lru_gen_folio *lrugen = &lruvec->lrugen; in read_ctrl_pos() local
3071 int hist = lru_hist_from_seq(lrugen->min_seq[type]); in read_ctrl_pos()
3073 pos->refaulted = lrugen->avg_refaulted[type][tier] + in read_ctrl_pos()
3074 atomic_long_read(&lrugen->refaulted[hist][type][tier]); in read_ctrl_pos()
3075 pos->total = lrugen->avg_total[type][tier] + in read_ctrl_pos()
3076 atomic_long_read(&lrugen->evicted[hist][type][tier]); in read_ctrl_pos()
[all …]
Dworkingset.c238 struct lru_gen_folio *lrugen; in lru_gen_eviction() local
249 lrugen = &lruvec->lrugen; in lru_gen_eviction()
250 min_seq = READ_ONCE(lrugen->min_seq[type]); in lru_gen_eviction()
254 atomic_long_add(delta, &lrugen->evicted[hist][type][tier]); in lru_gen_eviction()
276 min_seq = READ_ONCE((*lruvec)->lrugen.min_seq[file]); in lru_gen_test_recent()
287 struct lru_gen_folio *lrugen; in lru_gen_refault() local
302 lrugen = &lruvec->lrugen; in lru_gen_refault()
304 hist = lru_hist_from_seq(READ_ONCE(lrugen->min_seq[type])); in lru_gen_refault()
309 atomic_long_add(delta, &lrugen->refaulted[hist][type][tier]); in lru_gen_refault()
/linux-6.12.1/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