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@xxxxxxxxxxx> > > 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.