Re: [PATCH v4 00/25] Page folios

From: Andrew Morton
Date: Sat Mar 13 2021 - 15:38:28 EST


On Fri, 5 Mar 2021 04:18:36 +0000 "Matthew Wilcox (Oracle)" <willy@xxxxxxxxxxxxx> 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?