[PATCH net-next 0/3] add DMA sync capability to page_pool API

Lorenzo Bianconi
2019-11-10T12:09:33Z

Introduce the possibility to sync DMA memory in the page_pool API for
non-coherent devices. This feature allows to sync proper DMA size and
not always full buffer (dma_sync_single_for_device can be very costly).
Relying on page_pool DMA sync mvneta driver improves XDP_DROP pps of
about 180Kpps:

- XDP_DROP DMA sync managed by mvneta driver: ~420Kpps
- XDP_DROP DMA sync managed by page_pool API: ~595Kpps

Lorenzo Bianconi (3):
net: mvneta: rely on page_pool_recycle_direct in mvneta_run_xdp
net: page_pool: add the possibility sync dma memory for non-coherent
devices
net: mvneta: get rid of huge dma sync in mvneta_rx_refill

drivers/net/ethernet/marvell/mvneta.c | 23 ++++++++++------
include/net/page_pool.h | 11 +++++---
net/core/page_pool.c | 39 ++++++++++++++++++++++-----
3 files changed, 55 insertions(+), 18 deletions(-)

--
2.21.0