bpf.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC 0/2] xdp: introduce bulking for page_pool tx return path
@ 2020-10-20  9:33 Lorenzo Bianconi
  2020-10-20  9:33 ` [RFC 1/2] net: xdp: introduce bulking for xdp " Lorenzo Bianconi
  2020-10-20  9:33 ` [RFC 2/2] net: page_pool: add bulk support for ptr_ring Lorenzo Bianconi
  0 siblings, 2 replies; 5+ messages in thread
From: Lorenzo Bianconi @ 2020-10-20  9:33 UTC (permalink / raw)
  To: netdev; +Cc: bpf, davem, kuba, lorenzo.bianconi, brouer, ilias.apalodimas

xdp_return_frame/xdp_return_frame_napi and page_pool_put_page are usually
run inside the driver NAPI tx completion loop so it is possible batch them.
Introduce bulking capability in xdp tx return path (XDP_TX and XDP_REDIRECT).
Convert mvneta driver to xdp_return_frame_bulk APIs.

mvneta upstream code:
XDP_TX:		~296Kpps
XDP_REDIRECT:	~273Kpps

mvneta + xdp_return_frame_bulk APIs:
XDP_TX:		~303Kpps
XDP_REDIRECT:	~287Kpps

Lorenzo Bianconi (2):
  net: xdp: introduce bulking for xdp tx return path
  net: page_pool: add bulk support for ptr_ring

 drivers/net/ethernet/marvell/mvneta.c |  8 ++---
 include/net/page_pool.h               | 21 ++++++++++++
 include/net/xdp.h                     | 11 ++++++
 net/core/page_pool.c                  | 37 ++++++++++++++++++++
 net/core/xdp.c                        | 49 +++++++++++++++++++++++++++
 5 files changed, 122 insertions(+), 4 deletions(-)

-- 
2.26.2


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-10-20 10:34 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-10-20  9:33 [RFC 0/2] xdp: introduce bulking for page_pool tx return path Lorenzo Bianconi
2020-10-20  9:33 ` [RFC 1/2] net: xdp: introduce bulking for xdp " Lorenzo Bianconi
2020-10-20  9:46   ` Jesper Dangaard Brouer
2020-10-20 10:34     ` Lorenzo Bianconi
2020-10-20  9:33 ` [RFC 2/2] net: page_pool: add bulk support for ptr_ring Lorenzo Bianconi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).