Re: Struct page proposal

From: David Hildenbrand
Date: Thu Sep 23 2021 - 11:34:56 EST


On 23.09.21 17:22, Kent Overstreet wrote:
On Thu, Sep 23, 2021 at 11:03:44AM +0200, David Hildenbrand wrote:
Don't get me wrong, but before there are answers to some of the
very basic questions raised above (especially everything that lives
in page->flags, which are not only page flags, refcount, ...) this
isn't very tempting to spend more time on, from a reviewer
perspective.

Did you miss the part of the folios discussion where we were talking
about how acrimonious it had gotten and why, and talking about (Chris
Mason in particular) writing design docs up front and how they'd been
pretty successful in other places?

We're trying something new here, and trying to give people an
opportunity to discussion what we're trying to do _before_ dumping
thousands and thousands of lines of refactoring patches on the list.


This here is different: the very basic questions haven't been solved.
Folios compiled. Folios worked. I stopped following the discussion at one point, though.

Again, don't get me wrong, but what I read in this mail was "I don't
know how to solve most of this but this is what we could do.".

Would we want to reduce the struct page size? Sure! Do we have a
concrete plan on how all the corner cases would work? No.

IIRC Windows uses exactly one pointer (8 bytes) to track the state of a physical page by linking it into the right list. So what would you say if I proposed that without tackling the hard cases?

Corner cases is what make it hard. Memory holes. Memory hot(un)plug. Page isolation. Memory poisoning. Various memory allocators. Lock-free physical memory walkers. And that's all outside the scope of filesystems.

--
Thanks,

David / dhildenb