On Thu, Jul 03, 2025 at 11:30:42AM +0200, Christoph Hellwig wrote:
I think the idea to reconstruct the dma addresses from PRPs should be considered a failure by now. It works fine for SGLs, but for PRPs we're better off just stashing them away. Bob, can you try
s/Bob/Ben
something like the patch below? To be fully safe it needs a mempool, and it could use some cleanups, but it does pass testing on my setup here, so I'd love to see if if fixes your issue.
Thanks for confirming.
While this is starting to look a bit messy, I believe it's still an overall win: you've cut down the vector walking in the setup path from 3 to 1, which reduces a non-trivial amount of overhead for even moderately sized IO.