Re: [PATCH v6 00/27] Memory Folios

From: Jason Gunthorpe
Date: Thu Apr 01 2021 - 13:44:02 EST


On Thu, Apr 01, 2021 at 12:26:56PM +0100, Matthew Wilcox wrote:
> On Thu, Apr 01, 2021 at 08:05:37AM +0100, Christoph Hellwig wrote:
> > On Wed, Mar 31, 2021 at 07:47:01PM +0100, Matthew Wilcox (Oracle) wrote:
> > > - Mirror members of struct page (for pagecache / anon) into struct folio,
> > > so (eg) you can use folio->mapping instead of folio->page.mapping
> >
> > Eww, why?
>
> So that eventually we can rename page->mapping to page->_mapping and
> prevent the bugs from people doing page->mapping on a tail page. eg
> https://lore.kernel.org/linux-mm/alpine.LSU.2.11.2103102214170.7159@eggly.anvils/

Is that gcc structure layout randomization stuff going to be a problem
here?

Add some
static_assert(offsetof(struct folio,..) == offsetof(struct page,..))

tests to force it?

Jason