Re: [PATCH 4/7] mm/mglru: move max_seq read into walk_update_folio
Baolin Wang <[email protected]>
| Newsgroups | org.kernel.vger.cgroups,org.kernel.vger.linux-kernel,org.kvack.linux-mm |
|---|---|
| Message-ID | <[email protected]> |
On 8/18/26 1:38 PM, Kairui Song via B4 Relay wrote: > From: Kairui Song <[email protected]> > > walk_pte_range(), walk_pmd_range_locked(), and lru_gen_look_around() > each read lrugen->max_seq to compute the target generation used by > walk_update_folio(), then pass it as a parameter. Move the read into > walk_update_folio() itself so the callers no longer need to compute > or pass the value. > > The max_seq read now happens once per folio update rather than once > per walk range, so folios always get promoted to the current youngest > generation. > > Signed-off-by: Kairui Song <[email protected]> > Reviewed-by: Baoquan He <[email protected]> > --- LGTM. One nit below. Reviewed-by: Baolin Wang <[email protected]> > mm/vmscan.c | 29 ++++++++++++----------------- > 1 file changed, 12 insertions(+), 17 deletions(-) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index 080132997d87..a819be6b7ae9 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -3517,13 +3517,15 @@ static bool suitable_to_scan(int total, int young) > } > > static void walk_update_folio(struct lru_gen_mm_walk *walk, struct vm_area_struct *vma, > - struct folio *folio, int new_gen, bool dirty) > + struct lruvec *lruvec, struct folio *folio, bool dirty) IIRC, MM maintainers prefer 2 tabs, which is why I changed this earlier:)