Re: [RFC v2 PATCH 4/4] mm: pre zero out free pages to speed up page allocation for __GFP_ZERO

From: Matthew Wilcox
Date: Mon Jan 04 2021 - 14:30:56 EST


On Mon, Jan 04, 2021 at 11:19:13AM -0800, Dave Hansen wrote:
> On 12/21/20 8:30 AM, Liang Li wrote:
> > --- a/include/linux/page-flags.h
> > +++ b/include/linux/page-flags.h
> > @@ -137,6 +137,9 @@ enum pageflags {
> > #endif
> > #ifdef CONFIG_64BIT
> > PG_arch_2,
> > +#endif
> > +#ifdef CONFIG_PREZERO_PAGE
> > + PG_zero,
> > #endif
> > __NR_PAGEFLAGS,
>
> I don't think this is worth a generic page->flags bit.
>
> There's a ton of space in 'struct page' for pages that are in the
> allocator. Can't we use some of that space?

I was going to object to that too, but I think the entire approach is
flawed and needs to be thrown out. It just nukes the caches in extremely
subtle and hard to measure ways, lowering overall system performance.