On Thu, Oct 14, 2021 at 08:44:39AM -0400, Johannes Weiner wrote: > A clearer overarching design proposal that exists in more than one > head, that people agree on, and that is concrete enough to allow > others to make educated guesses on how random snippets of code would > or should look like in the new world, would help immensely. > > (This applies here, but to a certain degree to folio as well.) Folios really are a simple design proposal: They're a page which is not a tail page. I didn't want to do any of this work on slabs and, and, and, and. I want to get back to working on large pages in the page cache. Yes, the same principles can also be used to split new types (such as slab) out of struct page, but I don't want to be working on any of that! I don't even want to be working on separately allocated memory descriptors. I agree it's a lot less churn to split slab out of page first, then convert the remaining page users to folios than it is to convert sl[aou]b to folios, then later split it apart into its own type.