Lines Matching refs:max_seq
3264 unsigned long max_seq = READ_ONCE((lruvec)->lrugen.max_seq)
3317 return lruvec->lrugen.max_seq - lruvec->lrugen.min_seq[type] + 1; in get_nr_gens()
3542 hist = lru_hist_from_seq(walk->max_seq); in reset_mm_stats()
3605 VM_WARN_ON_ONCE(mm_state->seq + 1 < walk->max_seq); in iterate_mm_list()
3607 if (walk->max_seq <= mm_state->seq) in iterate_mm_list()
3641 reset_bloom_filter(lruvec, walk->max_seq + 1); in iterate_mm_list()
3651 static bool iterate_mm_list_nowalk(struct lruvec *lruvec, unsigned long max_seq) in iterate_mm_list_nowalk() argument
3660 VM_WARN_ON_ONCE(mm_state->seq + 1 < max_seq); in iterate_mm_list_nowalk()
3662 if (max_seq > mm_state->seq) { in iterate_mm_list_nowalk()
3724 unsigned long seq = carryover ? lrugen->min_seq[type] : lrugen->max_seq + 1; in reset_ctrl_pos()
4015 int old_gen, new_gen = lru_gen_from_seq(walk->max_seq); in walk_pte_range()
4083 int old_gen, new_gen = lru_gen_from_seq(walk->max_seq); in walk_pmd_range_locked()
4220 if (!walk->force_scan && !test_bloom_filter(walk->lruvec, walk->max_seq, pmd + i)) in walk_pmd_range()
4231 update_bloom_filter(walk->lruvec, walk->max_seq + 1, pmd + i); in walk_pmd_range()
4301 if (walk->max_seq != max_seq) in walk_mm()
4406 while (min_seq[type] + MIN_NR_GENS <= lrugen->max_seq) { in try_to_inc_min_seq()
4468 prev = lru_gen_from_seq(lrugen->max_seq - 1); in inc_max_seq()
4469 next = lru_gen_from_seq(lrugen->max_seq + 1); in inc_max_seq()
4490 smp_store_release(&lrugen->max_seq, lrugen->max_seq + 1); in inc_max_seq()
4495 static bool try_to_inc_max_seq(struct lruvec *lruvec, unsigned long max_seq, in try_to_inc_max_seq() argument
4503 VM_WARN_ON_ONCE(max_seq > READ_ONCE(lrugen->max_seq)); in try_to_inc_max_seq()
4506 if (max_seq <= READ_ONCE(lruvec->mm_state.seq)) { in try_to_inc_max_seq()
4518 success = iterate_mm_list_nowalk(lruvec, max_seq); in try_to_inc_max_seq()
4524 success = iterate_mm_list_nowalk(lruvec, max_seq); in try_to_inc_max_seq()
4529 walk->max_seq = max_seq; in try_to_inc_max_seq()
4562 for (seq = min_seq[type]; seq <= max_seq; seq++) { in lruvec_is_sizable()
4665 int old_gen, new_gen = lru_gen_from_seq(max_seq); in lru_gen_look_around()
4743 update_bloom_filter(lruvec, max_seq, pvmw->pmd); in lru_gen_look_around()
5257 static bool should_run_aging(struct lruvec *lruvec, unsigned long max_seq, in should_run_aging() argument
5269 if (min_seq[!can_swap] + MIN_NR_GENS > max_seq) { in should_run_aging()
5277 for (seq = min_seq[type]; seq <= max_seq; seq++) { in should_run_aging()
5286 if (seq == max_seq) in should_run_aging()
5288 else if (seq + MIN_NR_GENS == max_seq) in should_run_aging()
5301 if (min_seq[!can_swap] + MIN_NR_GENS < max_seq) in should_run_aging()
5333 if (!should_run_aging(lruvec, max_seq, sc, can_swap, &nr_to_scan)) in get_nr_to_scan()
5341 return try_to_inc_max_seq(lruvec, max_seq, sc, can_swap, false) ? -1 : 0; in get_nr_to_scan()
5874 unsigned long max_seq, unsigned long *min_seq, in lru_gen_seq_show_full() argument
5888 if (seq == max_seq) { in lru_gen_seq_show_full()
5911 if (seq == max_seq && NR_HIST_GENS == 1) { in lru_gen_seq_show_full()
5914 } else if (seq != max_seq && NR_HIST_GENS > 1) { in lru_gen_seq_show_full()
5950 else if (max_seq >= MAX_NR_GENS) in lru_gen_seq_show()
5951 seq = max_seq - MAX_NR_GENS + 1; in lru_gen_seq_show()
5955 for (; seq <= max_seq; seq++) { in lru_gen_seq_show()
5975 lru_gen_seq_show_full(m, lruvec, max_seq, min_seq, seq); in lru_gen_seq_show()
5994 if (seq < max_seq) in run_aging()
5997 if (seq > max_seq) in run_aging()
6000 if (!force_scan && min_seq[!can_swap] + MAX_NR_GENS - 1 <= max_seq) in run_aging()
6003 try_to_inc_max_seq(lruvec, max_seq, sc, can_swap, force_scan); in run_aging()
6013 if (seq + MIN_NR_GENS > max_seq) in run_eviction()
6186 lrugen->max_seq = MIN_NR_GENS + 1; in lru_gen_init_lruvec()