On Wed, Jan 11, 2023 at 07:05:29PM -0800, John Hubbard wrote: > > +++ b/mm/page_alloc.c > > @@ -775,11 +775,13 @@ void free_compound_page(struct page *page) > > static void prep_compound_head(struct page *page, unsigned int order) > > { > > + struct folio *folio = (struct folio *)page; > > Casting, eh? I wonder if prep_compound_head() should just take a folio? > There are only a few callers of that. Yes, I think both of these functions should take a folio. They're both static, so I was delaying that for later. At some point this year, I intend to convert all of page_alloc.c away from using pages, but it's not high on my todo list just yet.