Re: [RFC: DMA_PMD 00/22] DMA_PMD: PMD_SIZE-backed IO buffer pools

From: Luigi Rizzo

Date: Tue Nov 03 2026 - 04:20:33 EST


On Tue, Nov 3, 2026 at 9:09 AM Christoph Hellwig <hch@xxxxxx> wrote:
>
> On Fri, Oct 23, 2026 at 11:50:23AM -0300, Jason Gunthorpe wrote:
> > > Disk I/O is still potentially affected by the same problems
> > > (cost if io mapping/unmapping, iotlb thrashing, bounce buffers
> > > in confidential computing...)
> >
> > The disk folks already have a proposal to address all of this using
> > io_uring and preallocated buffers. I really doubt yet another version
> > is going to be interesting there.
>
> Huh? If you mean the dma-buf I/O it doesn't really have anything
> to do with disks, except that this is the first user. The dma-buf
> iovec can work for every ->read_iter/->write_iter consumer, and
> should be adopted more broadly. Including by networking instead of
> their own totally weird different world.

Christoph, is this the dma-buf series you are referring to ?
https://lore.kernel.org/all/cover.1791975048.git.asml.silence@xxxxxxxxx/

I am not claiming that my proposal is a good fit for disk or accelerator I/O,
but every subsystem has different constraints, so it is not unreasonable
that a proposal for (N)etwork and a proposal for (D)isk focus on the
different bottlenecks (still there can be learning from looking at the
other solution).

As an example, in networking we have to deal with the following:
- typically at least two buffers per packet (header+payload)
- often, very small fragments (1400-ish MTU plus crumbles from
data in different buffers
- extremely high I/O rate with almost no spatial locality, which is an IOTLB
killer and the main reason behind my proposal and some of its complexity.
- on tx no good way for the application to pre-reserve buffers
(buffers are sliced from a 32K per-task block,
going to possibly different destinations)

cheers
luigi