Re: [PATCH] lib/scatterlist: Provide a DMA page iterator

From: hch@xxxxxx
Date: Thu Jan 17 2019 - 04:30:06 EST


On Wed, Jan 16, 2019 at 10:24:36AM -0700, Jason Gunthorpe wrote:
> The fact is there is 0 industry interest in using RDMA on platforms
> that can't do HW DMA cache coherency - the kernel syscalls required to
> do the cache flushing on the IO path would just destroy performance to
> the point of making RDMA pointless. Better to use netdev on those
> platforms.

In general there is no syscall required for doing cache flushing, you
just issue the proper instructions directly from userspace.

> The reality is that *all* the subsytems doing DMA kernel bypass are
> ignoring the DMA mapping rules, I think we should support this better,
> and just accept that user space DMA will not be using syncing. Block
> access in cases when this is required, otherwise let it work as is
> today.

In that case we just need to block userspace DMA access entirely.
Which given the amount of problems it creates sounds like a pretty
good idea anyway.