Lines Matching refs:max_seq
3127 unsigned long max_seq = READ_ONCE((lruvec)->lrugen.max_seq)
3174 return lruvec->lrugen.max_seq - lruvec->lrugen.min_seq[type] + 1; in get_nr_gens()
3403 hist = lru_hist_from_seq(walk->max_seq); in reset_mm_stats()
3467 VM_WARN_ON_ONCE(mm_state->seq + 1 < walk->max_seq); in iterate_mm_list()
3468 VM_WARN_ON_ONCE(*iter && mm_state->seq > walk->max_seq); in iterate_mm_list()
3471 if (walk->max_seq <= mm_state->seq) { in iterate_mm_list()
3516 reset_bloom_filter(lruvec, walk->max_seq + 1); in iterate_mm_list()
3526 static bool iterate_mm_list_nowalk(struct lruvec *lruvec, unsigned long max_seq) in iterate_mm_list_nowalk() argument
3535 VM_WARN_ON_ONCE(mm_state->seq + 1 < max_seq); in iterate_mm_list_nowalk()
3537 if (max_seq > mm_state->seq && !mm_state->nr_walkers) { in iterate_mm_list_nowalk()
3599 unsigned long seq = carryover ? lrugen->min_seq[type] : lrugen->max_seq + 1; in reset_ctrl_pos()
3887 int old_gen, new_gen = lru_gen_from_seq(walk->max_seq); in walk_pte_range()
3956 int old_gen, new_gen = lru_gen_from_seq(walk->max_seq); in walk_pmd_range_locked()
4096 if (!walk->force_scan && !test_bloom_filter(walk->lruvec, walk->max_seq, pmd + i)) in walk_pmd_range()
4107 update_bloom_filter(walk->lruvec, walk->max_seq + 1, pmd + i); in walk_pmd_range()
4279 while (min_seq[type] + MIN_NR_GENS <= lrugen->max_seq) { in try_to_inc_min_seq()
4340 prev = lru_gen_from_seq(lrugen->max_seq - 1); in inc_max_seq()
4341 next = lru_gen_from_seq(lrugen->max_seq + 1); in inc_max_seq()
4362 smp_store_release(&lrugen->max_seq, lrugen->max_seq + 1); in inc_max_seq()
4367 static bool try_to_inc_max_seq(struct lruvec *lruvec, unsigned long max_seq, in try_to_inc_max_seq() argument
4375 VM_WARN_ON_ONCE(max_seq > READ_ONCE(lrugen->max_seq)); in try_to_inc_max_seq()
4378 if (max_seq <= READ_ONCE(lruvec->mm_state.seq)) { in try_to_inc_max_seq()
4390 success = iterate_mm_list_nowalk(lruvec, max_seq); in try_to_inc_max_seq()
4396 success = iterate_mm_list_nowalk(lruvec, max_seq); in try_to_inc_max_seq()
4401 walk->max_seq = max_seq; in try_to_inc_max_seq()
4416 max_seq < READ_ONCE(lrugen->max_seq)); in try_to_inc_max_seq()
4418 return max_seq < READ_ONCE(lrugen->max_seq); in try_to_inc_max_seq()
4421 VM_WARN_ON_ONCE(max_seq != READ_ONCE(lrugen->max_seq)); in try_to_inc_max_seq()
4431 static bool should_run_aging(struct lruvec *lruvec, unsigned long max_seq, unsigned long *min_seq, in should_run_aging() argument
4444 for (seq = min_seq[type]; seq <= max_seq; seq++) { in should_run_aging()
4453 if (seq == max_seq) in should_run_aging()
4455 else if (seq + MIN_NR_GENS == max_seq) in should_run_aging()
4468 if (min_seq[!can_swap] + MIN_NR_GENS > max_seq) in should_run_aging()
4470 if (min_seq[!can_swap] + MIN_NR_GENS < max_seq) in should_run_aging()
4504 need_aging = should_run_aging(lruvec, max_seq, min_seq, sc, swappiness, &nr_to_scan); in age_lruvec()
4519 try_to_inc_max_seq(lruvec, max_seq, sc, swappiness, false); in age_lruvec()
4604 int old_gen, new_gen = lru_gen_from_seq(max_seq); in lru_gen_look_around()
4670 update_bloom_filter(lruvec, max_seq, pvmw->pmd); in lru_gen_look_around()
4686 new_gen = lru_gen_from_seq(lruvec->lrugen.max_seq); in lru_gen_look_around()
5092 *need_aging = should_run_aging(lruvec, max_seq, min_seq, sc, can_swap, &nr_to_scan); in get_nr_to_scan()
5104 if (try_to_inc_max_seq(lruvec, max_seq, sc, can_swap, false)) in get_nr_to_scan()
5107 return min_seq[!can_swap] + MIN_NR_GENS <= max_seq ? nr_to_scan : 0; in get_nr_to_scan()
5118 if (max_seq - seq > 1) in should_abort_scan()
5202 if (should_abort_scan(lruvec, max_seq, sc, need_swapping)) in lru_gen_shrink_lruvec()
5499 unsigned long max_seq, unsigned long *min_seq, in lru_gen_seq_show_full() argument
5513 if (seq == max_seq) { in lru_gen_seq_show_full()
5536 if (seq == max_seq && NR_HIST_GENS == 1) { in lru_gen_seq_show_full()
5539 } else if (seq != max_seq && NR_HIST_GENS > 1) { in lru_gen_seq_show_full()
5575 else if (max_seq >= MAX_NR_GENS) in lru_gen_seq_show()
5576 seq = max_seq - MAX_NR_GENS + 1; in lru_gen_seq_show()
5580 for (; seq <= max_seq; seq++) { in lru_gen_seq_show()
5600 lru_gen_seq_show_full(m, lruvec, max_seq, min_seq, seq); in lru_gen_seq_show()
5619 if (seq < max_seq) in run_aging()
5622 if (seq > max_seq) in run_aging()
5625 if (!force_scan && min_seq[!can_swap] + MAX_NR_GENS - 1 <= max_seq) in run_aging()
5628 try_to_inc_max_seq(lruvec, max_seq, sc, can_swap, force_scan); in run_aging()
5638 if (seq + MIN_NR_GENS > max_seq) in run_eviction()
5811 lrugen->max_seq = MIN_NR_GENS + 1; in lru_gen_init_lruvec()