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; Here -- Mel Gorman SUSE Labs