On Thu, Apr 12, 2018 at 04:51:23PM +0200, Christoph Hellwig wrote: > On Thu, Apr 12, 2018 at 03:50:29PM +0200, Jesper Dangaard Brouer wrote: > > --------------- > > Implement support for keeping the DMA mapping through the XDP return > > call, to remove RX map/unmap calls. Implement bulking for XDP > > ndo_xdp_xmit and XDP return frame API. Bulking allows to perform DMA > > bulking via scatter-gatter DMA calls, XDP TX need it for DMA > > map+unmap. The driver RX DMA-sync (to CPU) per packet calls are harder > > to mitigate (via bulk technique). Ask DMA maintainer for a common > > case direct call for swiotlb DMA sync call ;-) > > Why do you even end up in swiotlb code? Once you bounce buffer your > performance is toast anyway.. I guess that is because x86 selects it as the default as soon as we have more than 4G memory. That should be solveable fairly easily with the per-device dma ops, though.