Re: [RFC PATCH 1/3] content: Add VIRTIO_F_SWIOTLB to negotiate use of SWIOTLB bounce buffers

From: Christoph Hellwig
Date: Fri Apr 04 2025 - 02:44:51 EST


On Fri, Apr 04, 2025 at 07:39:02AM +0100, David Woodhouse wrote:
> Plumbing a 65th address space bit through all descriptors seems impractical. Would it suffice for the driver to *specify* the location in the device's DMA address space that the on-device buffer appears, to allow it to avoid conflicts with system memory addresses? Better ideas?

That's what NVMe currently does in it's second attempt to get things
wrong. It mostly works for the current use cases, but there might
actually not be a single canonical address where it is mapped. This
was mostly theoretical, but with SVM and especially SIOV it is becoming
a real thing now.

In the worst case you might have to limit yourself to one address space
per request. Or have a bitmap which buffer in the request uses which
address space.