Searched refs:lrugen (Results 1 – 6 of 6) sorted by relevance
166 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() local188 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()226 const struct lru_gen_folio *lrugen = &lruvec->lrugen; in lru_gen_folio_seq() local251 return max(READ_ONCE(lrugen->max_seq) - gen + 1, READ_ONCE(lrugen->min_seq[type])); in lru_gen_folio_seq()261 struct lru_gen_folio *lrugen = &lruvec->lrugen; in lru_gen_add_folio() local265 if (folio_test_unevictable(folio) || !lrugen->enabled) in lru_gen_add_folio()[all …]
688 struct lru_gen_folio lrugen; member
2713 unsigned long max_seq = READ_ONCE((lruvec)->lrugen.max_seq)2717 READ_ONCE((lruvec)->lrugen.min_seq[LRU_GEN_ANON]), \2718 READ_ONCE((lruvec)->lrugen.min_seq[LRU_GEN_FILE]), \2776 return lruvec->lrugen.max_seq - lruvec->lrugen.min_seq[type] + 1; in get_nr_gens()3192 struct lru_gen_folio *lrugen = &lruvec->lrugen; in read_ctrl_pos() local3193 int hist = lru_hist_from_seq(lrugen->min_seq[type]); in read_ctrl_pos()3199 pos->refaulted += lrugen->avg_refaulted[type][i] + in read_ctrl_pos()3200 atomic_long_read(&lrugen->refaulted[hist][type][i]); in read_ctrl_pos()3201 pos->total += lrugen->avg_total[type][i] + in read_ctrl_pos()3202 lrugen->protected[hist][type][i] + in read_ctrl_pos()[all …]
238 struct lru_gen_folio *lrugen; in lru_gen_eviction() local250 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() local305 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()
415 struct lru_gen_folio *lrugen; in lru_gen_clear_refs() local424 lrugen = &folio_lruvec(folio)->lrugen; in lru_gen_clear_refs()426 return gen == lru_gen_from_seq(READ_ONCE(lrugen->min_seq[type])); in lru_gen_clear_refs()
84 ``lrugen->max_seq`` for both anon and file types as they are aged on86 ``lrugen->min_seq[]`` separately for anon and file types as clean file92 truncated generation number is an index to ``lrugen->folios[]``. The96 ``lrugen->folios[]``; otherwise it stores zero.100 generations, tiers do not have dedicated ``lrugen->folios[]``. In131 increments ``min_seq`` when ``lrugen->folios[]`` indexed by