[PATCH v6 1/5] mm/zone_device: Reinitialize large zone device private folios
Jason Gunthorpe
jgg at nvidia.com
Wed Jan 21 00:53:40 AEDT 2026
On Mon, Jan 19, 2026 at 09:50:16PM -0500, Zi Yan wrote:
> >> I suppose we want some prep_single_page(page) and some reorg to share
> >> code with the other prep function.
>
> This is just an unnecessary need due to lack of knowledge of/do not want
> to investigate core MM page and folio initialization code.
It will be better to keep this related code together, not spread all
around.
> >> I don't think so. It should do the above job efficiently and iterate
> >> over the page list exactly once.
>
> folio initialization should not iterate over any page list, since folio is
> supposed to be treated as a whole instead of individual pages.
The tail pages need to have the right data in them or compound_head
won't work.
> folio->mapping = NULL;
> folio->memcg_data = 0;
> folio->flags.f &= ~PAGE_FLAGS_CHECK_AT_PREP;
>
> should be enough.
This seems believable to me for setting up an order 0 page.
> if (order)
> folio_set_large_rmappable(folio);
That one is in zone_device_folio_init()
And maybe the naming has got really confused if we have both functions
now :\
Jason
More information about the Linuxppc-dev
mailing list