Re: [GIT PULL] Memory folios for v5.15
From: "Darrick J. Wong" <djwong@kernel.org>
Date: 2021-08-26 00:59:16
Also in:
linux-fsdevel, lkml
On Wed, Aug 25, 2021 at 08:03:18AM -0400, Jeff Layton wrote:
On Wed, 2021-08-25 at 07:32 +0100, Christoph Hellwig wrote:quoted
On Tue, Aug 24, 2021 at 03:44:48PM -0400, Theodore Ts'o wrote:quoted
The problem is whether we use struct head_page, or folio, or mempages, we're going to be subsystem users' faces. And people who are using it every day will eventually get used to anything, whether it's "folio" or "xmoqax", we sould give a thought to newcomers to Linux file system code. If they see things like "read_folio()", they are going to be far more confused than "read_pages()" or "read_mempages()".Are they? It's not like page isn't some randomly made up term as well, just one that had a lot more time to spread.Absolutely. "folio" is no worse than "page", we've just had more time to get used to "page".
I /like/ the name 'folio'. My privileged education :P informed me (when Matthew talked to me the very first time about this patchset) that it's a wonderfully flexible word that describes both a collection of various pages and a single large sheet of paper folded in half. Or in the case of x86, folded in half nine times. That's *exactly* the usage that Matthew is proposing. English already had a word ready for us to use, so let's use it. --D (Well, ok, the one thing I dislike is that my brain keeps typing out 'fileio' instead of 'folio', but it's still better than struct xmoqax or remembering if we do camel_case or PotholeCase.)
quoted
quoted
So if someone sees "kmem_cache_alloc()", they can probably make a guess what it means, and it's memorable once they learn it. Similarly, something like "head_page", or "mempages" is going to a bit more obvious to a kernel newbie. So if we can make a tiny gesture towards comprehensibility, it would be good to do so while it's still easier to change the name.All this sounds really weird to me. I doubt there is any name that nicely explains "structure used to manage arbitrary power of two units of memory in the kernel" very well. So I agree with willy here, let's pick something short and not clumsy. I initially found the folio name a little strange, but working with it I got used to it quickly. And all the other uggestions I've seen s far are significantly worse, especially all the odd compounds with page in it.Same here. Compound words are especially bad, as newbies will continually have to look at whether it's "page_set" or "pageset". -- Jeff Layton [off-list ref]