MAX_NR_GENS
return seq % MAX_NR_GENS;
VM_WARN_ON_ONCE(gen >= MAX_NR_GENS);
VM_WARN_ON_ONCE(old_gen != -1 && old_gen >= MAX_NR_GENS);
VM_WARN_ON_ONCE(new_gen != -1 && new_gen >= MAX_NR_GENS);
gen = MAX_NR_GENS;
gen = MAX_NR_GENS - folio_test_workingset(folio);
#define NR_HIST_GENS MAX_NR_GENS
unsigned long timestamps[MAX_NR_GENS];
struct list_head folios[MAX_NR_GENS][ANON_AND_FILE][MAX_NR_ZONES];
long nr_pages[MAX_NR_GENS][ANON_AND_FILE][MAX_NR_ZONES];
int nr_pages[MAX_NR_GENS][ANON_AND_FILE][MAX_NR_ZONES];
DEFINE(LRU_GEN_WIDTH, order_base_2(MAX_NR_GENS + 1));
for ((gen) = 0; (gen) < MAX_NR_GENS; (gen)++) \
if (n < MIN_NR_GENS || n > MAX_NR_GENS)
VM_WARN_ON_ONCE(gen >= MAX_NR_GENS);
new_gen = (old_gen + 1) % MAX_NR_GENS;
VM_WARN_ON_ONCE(old_gen >= MAX_NR_GENS);
VM_WARN_ON_ONCE(new_gen >= MAX_NR_GENS);
if (get_nr_gens(lruvec, type) != MAX_NR_GENS)
VM_WARN_ON_ONCE_FOLIO(gen >= MAX_NR_GENS, folio);
else if (max_seq >= MAX_NR_GENS)
seq = max_seq - MAX_NR_GENS + 1;
BUILD_BUG_ON(MIN_NR_GENS + 1 >= MAX_NR_GENS);
BUILD_BUG_ON(BIT(LRU_GEN_WIDTH) <= MAX_NR_GENS);
return abs_diff(max_seq, *token >> LRU_REFS_WIDTH) < MAX_NR_GENS;
struct generation_stats gens[MAX_NR_GENS];
TEST_ASSERT(node_stats->nr_gens < MAX_NR_GENS,
MAX_NR_GENS);