On Thu, Sep 08, 2022 at 12:27:06PM -0700, Dan Williams wrote: > flag lets the fsdax core track when it has already dropped a page > reference, but still has use for things like memory-failure to > opportunistically use page->mapping on a 0-reference page. This is not straightforward, as discussed before the page->mapping is allowed to change while the refcount is zero, so there is no generic way to safely obtain a pointer to the address space from a 0 reference page. You'd have to pass the 0 reference page into a new pgmap operation which could obtain an appropriate internal lock to read page->mapping. > > I'm not sure what it has to do with normal_page? > > This thread is mainly about DAX slowly reinventing _mapcount that gets > managed in all the right places for a normal_page. Longer term I think > we either need to get back to the page-less DAX experiment and find a > way to unwind some of this page usage creep, or cut over to finally > making DAX-pages be normal pages and delete most of the special case > handling in fs/dax.c. I am open to discussing the former, but I think > the latter is more likely. I think the latter is inevitable at this point.. Jason