On Fri, Jun 26, 2020 at 03:43:58PM +0200, Björn Töpel wrote: > From: Björn Töpel <bjorn.topel@xxxxxxxxx> > > When the AF_XDP buffer allocation API was introduced it had an > optimization, "cheap_dma". The idea was that when the umem was DMA > mapped, the pool also checked whether the mapping required a > synchronization (CPU to device, and vice versa). If not, it would be > marked as "cheap_dma" and the synchronization would be elided. > > In [1] Christoph points out that the optimization above breaks the DMA > API abstraction, and should be removed. Further, Christoph points out > that optimizations like this should be done within the DMA mapping > core, and not elsewhere. > > Unfortunately this has implications for the packet rate > performance. The AF_XDP rxdrop scenario shows a 9% decrease in packets > per second. > > [1] https://lore.kernel.org/netdev/20200626074725.GA21790@xxxxxx/ > > Cc: Christoph Hellwig <hch@xxxxxx> > Fixes: 2b43470add8c ("xsk: Introduce AF_XDP buffer allocation API") > Signed-off-by: Björn Töpel <bjorn.topel@xxxxxxxxx> Acked-by: Jonathan Lemon <jonathan.lemon@xxxxxxxxx>