On Wed, Sep 11, 2024 at 10:18:46AM +0200, Christoph Hellwig wrote: > On Tue, Sep 10, 2024 at 10:21:09AM -0600, Keith Busch wrote: > > I was hoping to not introduce another queue limit for the metadata > > virt_boundary_mask. We could remove the virt_boundary from the NVMe PCI > > driver if it supports SGL's and then we're fine. But we're commiting to > > that data format for all IO even if PRP might have been more efficient. > > That might be alright, though. > > The real question is if we actually want that. If we want to take > fully advantage of the new dma mapping API that Leon is proposing we'd > need to impose a similar limit. And a lot of these super tiny SGL > segments probably aren't very efficient to start with. Something that > bounce buffers a page worth of PI tuples might end up beeing more > efficient in the end. Yes, a bounce buffer is more efficient for the device side of the transaction. We have the infrastructure for it when the integrity data comes from user space addresses, so I suppose we could introduce a "kern" equivalent. But currently, instead of many small SGL's stiched together in a single command, we have the same small SGLs in their own commands. I think this patch set is a step in the right direction, and doesn't preclude bounce optimizations.