Dave Hansen
2021-Jan-04 19:19 UTC
[RFC v2 PATCH 4/4] mm: pre zero out free pages to speed up page allocation for __GFP_ZERO
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?
Matthew Wilcox
2021-Jan-04 19:27 UTC
[RFC v2 PATCH 4/4] mm: pre zero out free pages to speed up page allocation for __GFP_ZERO
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.