Re: [RFC PATCH 06/26] mm: page_alloc: consolidate free page accounting

Johannes Weiner
2023-04-21T15:08:15Z

On Fri, Apr 21, 2023 at 01:54:53PM +0100, Mel Gorman wrote:
> On Tue, Apr 18, 2023 at 03:12:53PM -0400, Johannes Weiner wrote:
> > Free page accounting currently happens a bit too high up the call
> > stack, where it has to deal with guard pages, compaction capturing,
> > block stealing and even page isolation. This is subtle and fragile,
> > and makes it difficult to hack on the code.
> >
> > Push the accounting down to where pages enter and leave the physical
> > freelists, where all these higher-level exceptions are of no concern.
> >
> > Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
>
> I didn't look too closely at this one as I'm scanning through to see how
> the overall series works and this is mostly a mechanical patch.
> However, it definitely breaks build
>
> > @@ -843,7 +843,7 @@ static int __init debug_guardpage_minorder_setup(char *buf)
> > early_param("debug_guardpage_minorder", debug_guardpage_minorder_setup);
> >
> > static inline bool set_page_guard(struct zone *zone, struct page *page,
> > - unsigned int order, int migratetype)
> > + unsigned int order
> > {
> > if (!debug_guardpage_enabled())
> > return false;

Oops, this is under a config I didn't test. Will fix. Thanks.