On Tue, Sep 22, 2026 at 02:37:08PM +0100, Pavel Begunkov wrote: >> Sashiko had a few comments, which I think are correct - if we use >> dma_map_sg to map the data, we need to use the sync_sg APIs to >> transfer ownership. That only matters on non-coherent architectures >> with MMU, but we need to get it right. > > I've seen that and fixed everything locally that should be fixed, > apart from the sync. I wonder what we can do about that? I can > somehow replace it with the sg variant for now, but sync'ing the > entire possibly multi-GB mapping for, let's say, a 512B I/O, sounds > not wise.
If we'd want to fix this for real we'd need to add an offset to the sync by sg methods. Or move away from scatterlists in dma-buf, given that they are a horrible API. All of these are bigger projects, though. So for now I think you'd want to do the sync all, and have the people who run high-performance io_uring code on non-coherent platforms suffer. > And I can think of another place that does mix sync_single > with sgs. Which one?

