Re: [PATCH 2/2] mm/mglru: reset page lru tier bits when activating

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 15 Oct 2024 22:55:23 -0600 Yu Zhao <yuzhao@xxxxxxxxxx> wrote:

> > @@ -257,7 +258,9 @@ static inline bool lru_gen_add_folio(struct lruvec *lruvec, struct folio *folio,
> >         gen = lru_gen_from_seq(seq);
> >         flags = (gen + 1UL) << LRU_GEN_PGOFF;
> >         /* see the comment on MIN_NR_GENS about PG_active */
> > -       set_mask_bits(&folio->flags, LRU_GEN_MASK | BIT(PG_active), flags);
> > +       mask = LRU_GEN_MASK | BIT(PG_active);
> > +       mask |= folio_test_active(folio) ? (LRU_REFS_MASK | LRU_REFS_FLAGS) : 0;
> 
> We shouldn't clear PG_workingset here because it can affect PSI
> accounting, if the activation is due to workingset refault.
> 
> Also, nit:
>   mask = LRU_GEN_MASK;
>   if (folio_test_active(folio))
>     mask |= LRU_REFS_MASK | BIT(PG_active) | BIT(PG_referenced);
> 

Thanks, I'll drop this version of this patch.

When resending, please include a full description of the userspace-visible
effects of the original flaw, thanks.




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux