Lines Matching defs:gen

2581 #define for_each_gen_type_zone(gen, type, zone)				\
2582 for ((gen) = 0; (gen) < MAX_NR_GENS; (gen)++) \
2685 int gen = filter_gen_from_seq(seq);
2687 filter = READ_ONCE(mm_state->filters[gen]);
2701 int gen = filter_gen_from_seq(seq);
2703 filter = READ_ONCE(mm_state->filters[gen]);
2718 int gen = filter_gen_from_seq(seq);
2720 filter = mm_state->filters[gen];
2728 WRITE_ONCE(mm_state->filters[gen], filter);
3101 static int folio_update_gen(struct folio *folio, int gen)
3105 VM_WARN_ON_ONCE(gen >= MAX_NR_GENS);
3117 new_flags |= (gen + 1UL) << LRU_GEN_PGOFF;
3171 int gen, type, zone;
3177 for_each_gen_type_zone(gen, type, zone) {
3179 int delta = walk->nr_pages[gen][type][zone];
3184 walk->nr_pages[gen][type][zone] = 0;
3185 WRITE_ONCE(lrugen->nr_pages[gen][type][zone],
3186 lrugen->nr_pages[gen][type][zone] + delta);
3188 if (lru_gen_is_active(lruvec, gen))
3720 int gen, type, zone;
3730 gen = lru_gen_from_seq(min_seq[type]);
3733 if (!list_empty(&lrugen->folios[gen][type][zone]))
3889 int gen, type, zone;
3901 gen = lru_gen_from_seq(seq);
3904 total += max(READ_ONCE(lrugen->nr_pages[gen][type][zone]), 0L);
3915 int gen;
3921 gen = lru_gen_from_seq(min_seq[LRU_GEN_FILE]);
3922 birth = READ_ONCE(lruvec->lrugen.timestamps[gen]);
4116 new = old = lruvec->lrugen.gen;
4131 WRITE_ONCE(lruvec->lrugen.gen, new);
4153 int gen;
4165 gen = get_memcg_gen(pgdat->memcg_lru.seq);
4167 lruvec->lrugen.gen = gen;
4169 hlist_nulls_add_tail_rcu(&lruvec->lrugen.list, &pgdat->memcg_lru.fifo[gen][bin]);
4170 pgdat->memcg_lru.nr_memcgs[gen]++;
4189 int gen;
4201 gen = lruvec->lrugen.gen;
4204 pgdat->memcg_lru.nr_memcgs[gen]--;
4206 if (!pgdat->memcg_lru.nr_memcgs[gen] && gen == get_memcg_gen(pgdat->memcg_lru.seq))
4232 int gen = folio_lru_gen(folio);
4240 VM_WARN_ON_ONCE_FOLIO(gen >= MAX_NR_GENS, folio);
4262 if (gen != lru_gen_from_seq(lrugen->min_seq[type])) {
4263 list_move(&folio->lru, &lrugen->folios[gen][type][zone]);
4271 gen = folio_inc_gen(lruvec, folio, false);
4272 list_move_tail(&folio->lru, &lrugen->folios[gen][type][zone]);
4281 gen = folio_inc_gen(lruvec, folio, false);
4282 list_move_tail(&folio->lru, &lrugen->folios[gen][type][zone]);
4289 gen = folio_inc_gen(lruvec, folio, true);
4290 list_move(&folio->lru, &lrugen->folios[gen][type][zone]);
4335 int gen;
4350 gen = lru_gen_from_seq(lrugen->min_seq[type]);
4356 struct list_head *head = &lrugen->folios[gen][type][zone];
4603 int gen, type, zone;
4622 gen = lru_gen_from_seq(seq);
4625 size += max(READ_ONCE(lrugen->nr_pages[gen][type][zone]), 0L);
4796 int gen;
4804 gen = get_memcg_gen(READ_ONCE(pgdat->memcg_lru.seq));
4812 hlist_nulls_for_each_entry_rcu(lrugen, pos, &pgdat->memcg_lru.fifo[gen][bin], list) {
4821 if (gen != READ_ONCE(lrugen->gen))
4854 if (gen != get_nulls_value(pos))
4964 int gen, type, zone;
4966 for_each_gen_type_zone(gen, type, zone) {
4967 if (!list_empty(&lrugen->folios[gen][type][zone]))
5008 int gen, type, zone;
5011 for_each_gen_type_zone(gen, type, zone) {
5012 struct list_head *head = &lruvec->lrugen.folios[gen][type][zone];
5310 int gen = lru_gen_from_seq(seq);
5311 unsigned long birth = READ_ONCE(lruvec->lrugen.timestamps[gen]);
5320 size += max(READ_ONCE(lrugen->nr_pages[gen][type][zone]), 0L);
5548 int gen, type, zone;
5558 for_each_gen_type_zone(gen, type, zone)
5559 INIT_LIST_HEAD(&lrugen->folios[gen][type][zone]);