On Mon, Mar 04, 2024 at 02:05:49AM -0800, Mattias Nissler wrote: > This series adds basic support for message-based DMA in qemu's vfio-user > server. This is useful for cases where the client does not provide file > descriptors for accessing system memory via memory mappings. My motivating use > case is to hook up device models as PCIe endpoints to a hardware design. This > works by bridging the PCIe transaction layer to vfio-user, and the endpoint > does not access memory directly, but sends memory requests TLPs to the > hardware > design in order to perform DMA. > > Note that more work is needed to make message-based DMA work well: qemu > currently breaks down DMA accesses into chunks of size 8 bytes at maximum, > each > of which will be handled in a separate vfio-user DMA request message. This is > quite terrible for large DMA accesses, such as when nvme reads and writes > page-sized blocks for example. Thus, I would like to improve qemu to be able > to > perform larger accesses, at least for indirect memory regions. I have > something > working locally, but since this will likely result in more involved surgery > and > discussion, I am leaving this to be addressed in a separate patch.
No objection from my side memory-wise. It'll be good to get some words from Paolo if possible. Copy Peter Maydell due to the other relevant discussion. https://lore.kernel.org/qemu-devel/20240228125939.56925-1-heinrich.schucha...@canonical.com/ -- Peter Xu