Re: [PATCH v4 00/25] Page folios
From: Andrew Morton <akpm@linux-foundation.org>
Date: 2021-03-13 20:38:10
Also in:
linux-fsdevel, lkml
From: Andrew Morton <akpm@linux-foundation.org>
Date: 2021-03-13 20:38:10
Also in:
linux-fsdevel, lkml
On Fri, 5 Mar 2021 04:18:36 +0000 "Matthew Wilcox (Oracle)" [off-list ref] wrote:
Our type system does not currently distinguish between tail pages and head or single pages. This is a problem because we call compound_head() multiple times (and the compiler cannot optimise it out), bloating the kernel. It also makes programming hard as it is often unclear whether a function operates on an individual page, or an entire compound page. This patch series introduces the struct folio, which is a type that represents an entire compound page. This initial set reduces the kernel size by approximately 6kB, although its real purpose is adding infrastructure to enable further use of the folio.
Geeze it's a lot of noise. More things to remember and we'll forever have a mismash of `page' and `folio' and code everywhere converting from one to the other. Ongoing addition of folio accessors/manipulators to overlay the existing page accessors/manipulators, etc. It's unclear to me that it's all really worth it. What feedback have you seen from others?