On Fri, 11 Sep 2026 15:28:48 +0800
Ridong Chen <[email protected]> wrote:

> +static void trace_inc_max_seq(struct lruvec *lruvec)
> +{
> +     int type, gen;
> +     unsigned long nr[ANON_AND_FILE][MAX_NR_GENS];
> +     struct lru_gen_folio *lrugen = &lruvec->lrugen;
> +
> +     if (!trace_mm_mglru_inc_max_seq_enabled())
> +             return;
> +
> +     for (type = 0; type < ANON_AND_FILE; type++)
> +             for (gen = 0; gen < MAX_NR_GENS; gen++)
> +                     nr[type][gen] = lru_gen_seq_nr_pages(lrugen, gen, type);
> +
> +     trace_mm_mglru_inc_max_seq(mem_cgroup_id(lruvec_memcg(lruvec)),
> +                                lrugen->max_seq,
> +                                lrugen->min_seq[LRU_GEN_ANON],
> +                                lrugen->min_seq[LRU_GEN_FILE],
> +                                nr[LRU_GEN_ANON], nr[LRU_GEN_FILE]);
> +}

I would always look at trying to move as much logic into the
TP_fast_assign() and not have it be where the tracepoint is called.

-- Steve

Reply via email to