On Mon, 21 Nov 2022, Kirill A. Shutemov wrote: > On Fri, Nov 18, 2022 at 05:35:05PM -0800, Hugh Dickins wrote: ... > > --- a/mm/rmap.c > > +++ b/mm/rmap.c > > @@ -1281,7 +1281,7 @@ void page_add_anon_rmap(struct page *page, > > struct compound_mapcounts mapcounts; > > int nr = 0, nr_pmdmapped = 0; > > bool compound = flags & RMAP_COMPOUND; > > - bool first; > > + bool first = true; > > > > if (unlikely(PageKsm(page))) > > lock_page_memcg(page); > > Other option is to drop PageTransHuge() check that you already claim to be > redundant. > > Or have else BUG() to catch cases where the helper called with > compound=true on non-THP page. I'm sticking with the "first = true". I did receive a report of bloating some tiny config a little, on the very first series, so I've been on guard since then about adding THP code where the optimizer cannot see to remove it: so do want to keep the PageTransHuge check in there. Could be done in other ways, yes, but I'd ended up feeling this was the best compromise. Hugh