Re: [PATCH v2 6/7] nfs: Optimize direct I/O to use folios for requests

Matthew Wilcox <[email protected]>
Newsgroups gmane.linux.file-systems,gmane.linux.nfs,gmane.linux.kernel,gmane.linux.kernel.mm
Message-ID <[email protected]>
On Thu, Jun 18, 2026 at 07:10:45AM -0700, Christoph Hellwig wrote:
> On Tue, Jun 16, 2026 at 05:23:48PM +0000, Pranjal Shrivastava wrote:
> > AFAIU, the MM subsystem explicitly ensures that every valid struct page
> > is part of a folio.
> 
> It is definitively not what the vision for the folio is, although if
> I'm not mistaken it actually is still true right now.

It's not true, eg, for slab.  While there's still a struct page there
for slab, there's no refcount and flags like PG_locked have different
meanings.  You'll get into a lot of trouble trying to treat slabs as
folios (and that will include assertions tripping).

> This whole
> area is a minefield unfortunately, and we also ran into it with
> iov_iter_extract_bvecs and the earlier block code it was extracted
> from.  Adding the relevant people and lists, but for now your best
> bet is to stick to what the block code does or even better reuse
> as much as possible of that code.

Yes.  Fundamentally, it is no business of the filesystem what the iov_iter
refers to.  We can do direct io to slab memory, vmalloc memory, memory
that doesn't have a struct page (eg iomem), or whatever we choose.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.