On Mon, Oct 14, 2024 at 05:03:32PM -0700, John Hubbard wrote: > > > Or better yet, *always* fall back to page_ext, thus leaving the > > > scarce and valuable page flags available for other features? > > > > > > Sorry Suren, to keep coming back to this suggestion, I know > > > I'm driving you crazy here! But I just keep thinking it through > > > and failing to see why this feature deserves to consume so > > > many page flags. > > > > I think we already always use page_ext today. My understanding is that > > the purpose of this series is to give the option to avoid using > > page_ext if there are enough unused page flags anyway, which reduces > > memory waste and improves performance. > > > > My question is just why not have that be the default behavior with a > > config option, use page flags if there are enough unused bits, > > otherwise use page_ext. > > I agree that if you're going to implement this feature at all, then > keying off of CONFIG_MEM_ALLOC_PROFILING seems sufficient, and no > need to add CONFIG_PGALLOC_TAG_USE_PAGEFLAGS on top of that. Maybe the right idea is to use all the bits which are unused in this configuration for the first N callsites, then use page_ext for all the ones larger than N. It doesn't save any memory, but it does have the performance improvement.