On Fri, Apr 02, 2021 at 03:37:55PM +0100, Christoph Hellwig wrote: > 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/ > > I'm not sure I like this. This whole concept of structures that do need > the same layout is very problematic, even with the safe guards you've > added. So if it was up to me I'd prefer the folio as a simple container > as it was in the previous revisions. At some point members should move > from the page to the folio, but I'd rather do that over a shorter period > an in targeted series. We need the basic to go in first. That was my original plan, but it'll be another round of churn, and I'm not sure there'll be the appetite for it. There's not a lot of appetite for this round, and this one has measurable performance gains!