Home
last modified time | relevance | path

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

/linux-6.15/include/linux/
H A 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()
225 struct lru_gen_folio *lrugen = &lruvec->lrugen; in lru_gen_folio_seq() local
250 return max(READ_ONCE(lrugen->max_seq) - gen + 1, READ_ONCE(lrugen->min_seq[type])); in lru_gen_folio_seq()
260 struct lru_gen_folio *lrugen = &lruvec->lrugen; in lru_gen_add_folio() local
264 if (folio_test_unevictable(folio) || !lrugen->enabled) in lru_gen_add_folio()
[all …]
H A Dmmzone.h654 struct lru_gen_folio lrugen; member
/linux-6.15/mm/
H A Dvmscan.c3160 struct lru_gen_folio *lrugen = &lruvec->lrugen; in read_ctrl_pos() local
3178 struct lru_gen_folio *lrugen = &lruvec->lrugen; in reset_ctrl_pos() local
3255 struct lru_gen_folio *lrugen = &lruvec->lrugen; in folio_inc_gen() local
3301 struct lru_gen_folio *lrugen = &lruvec->lrugen; in reset_batch_size() local
3849 struct lru_gen_folio *lrugen = &lruvec->lrugen; in inc_min_seq() local
3897 struct lru_gen_folio *lrugen = &lruvec->lrugen; in try_to_inc_min_seq() local
3945 struct lru_gen_folio *lrugen = &lruvec->lrugen; in inc_max_seq() local
4011 struct lru_gen_folio *lrugen = &lruvec->lrugen; in try_to_inc_max_seq() local
4094 struct lru_gen_folio *lrugen = &lruvec->lrugen; in lruvec_is_sizable() local
4431 struct lru_gen_folio *lrugen = &lruvec->lrugen; in sort_folio() local
[all …]
H A Dworkingset.c238 struct lru_gen_folio *lrugen; in lru_gen_eviction() local
250 lrugen = &lruvec->lrugen; in lru_gen_eviction()
251 min_seq = READ_ONCE(lrugen->min_seq[type]); in lru_gen_eviction()
255 atomic_long_add(delta, &lrugen->evicted[hist][type][tier]); in lru_gen_eviction()
277 max_seq = READ_ONCE((*lruvec)->lrugen.max_seq); in lru_gen_test_recent()
290 struct lru_gen_folio *lrugen; in lru_gen_refault() local
305 lrugen = &lruvec->lrugen; in lru_gen_refault()
307 hist = lru_hist_from_seq(READ_ONCE(lrugen->min_seq[type])); in lru_gen_refault()
311 atomic_long_add(delta, &lrugen->refaulted[hist][type][tier]); in lru_gen_refault()
H A Dswap.c409 struct lru_gen_folio *lrugen; in lru_gen_clear_refs() local
418 lrugen = &folio_lruvec(folio)->lrugen; in lru_gen_clear_refs()
420 return gen == lru_gen_from_seq(READ_ONCE(lrugen->min_seq[type])); in lru_gen_clear_refs()
/linux-6.15/Documentation/mm/
H A 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