netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v2 0/7] net: ethernet: ti: am65-cpsw: add AF_XDP zero copy support
@ 2025-11-09 21:37 Roger Quadros
  2025-11-09 21:37 ` [PATCH net-next v2 1/7] net: ethernet: ti: am65-cpsw: fix BPF Program change on multi-port CPSW Roger Quadros
                   ` (9 more replies)
  0 siblings, 10 replies; 16+ messages in thread
From: Roger Quadros @ 2025-11-09 21:37 UTC (permalink / raw)
  To: Siddharth Vadapalli, Andrew Lunn, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Alexei Starovoitov, Daniel Borkmann,
	Jesper Dangaard Brouer, John Fastabend, Sumit Semwal,
	Christian König, Stanislav Fomichev, Simon Horman
  Cc: srk, Meghana Malladi, netdev, linux-kernel, bpf, linux-media,
	dri-devel, linaro-mm-sig, Roger Quadros

This series adds AF_XDP zero coppy support to am65-cpsw driver.

Tests were performed on AM62x-sk with xdpsock application [1].

A clear improvement is seen in 64 byte packets on Transmit (txonly)
and receive (rxdrop).
1500 byte test seems to be limited by line rate (1G link) so no
improvement seen there in packet rate. A test on higher speed link
(or PHY-less setup) might be worthwile.

There is some issue during l2fwd with 64 byte packets and benchmark
results show 0. This issue needs to be debugged further.
A 512 byte l2fwd test result has been added to compare instead.

AF_XDP performance using 64 byte packets in Kpps.
Benchmark:	XDP-SKB		XDP-Native	XDP-Native(ZeroCopy)
rxdrop		322		491		845
txonly		390		394		723
l2fwd 		205		257		0

AF_XDP performance using 512 byte packets in Kpps.
l2fwd		140		167		231

AF_XDP performance using 1500 byte packets in Kpps.
Benchmark:	XDP-SKB		XDP-Native	XDP-Native(ZeroCopy)
rxdrop		82		82		82
txonly		82		82		82
l2fwd 		82		82		82

[1]: https://github.com/xdp-project/bpf-examples/tree/master/AF_XDP-example

Signed-off-by: Roger Quadros <rogerq@kernel.org>
---
Changes in v2:
- Prevent crash on systems with 1 of 2 ports disabled in device tree. check
  for valid ndev before registering/unregistering XDP RXQ.
  Reported-by: Meghana Malladi <m-malladi@ti.com>
- Retain page pool on XDP program exchangae so we don't have to re-alloacate
  memory.
- Fix clearing of irq_disabled flag in am65_cpsw_nuss_rx_poll().
- Link to v1: https://lore.kernel.org/r/20250520-am65-cpsw-xdp-zc-v1-0-45558024f566@kernel.org

---
Roger Quadros (7):
      net: ethernet: ti: am65-cpsw: fix BPF Program change on multi-port CPSW
      net: ethernet: ti: am65-cpsw: Retain page_pool on XDP program exchange
      net: ethernet: ti: am65-cpsw: add XSK pool helpers
      net: ethernet: ti: am65-cpsw: Add AF_XDP zero copy for RX
      net: ethernet: ti: am65-cpsw: Add AF_XDP zero copy for TX
      net: ethernet: ti: am65-cpsw: enable zero copy in XDP features
      net: ethernet: ti: am65-cpsw: Fix clearing of irq_disabled flag in rx_poll

 drivers/net/ethernet/ti/Makefile         |   2 +-
 drivers/net/ethernet/ti/am65-cpsw-nuss.c | 583 ++++++++++++++++++++++++++-----
 drivers/net/ethernet/ti/am65-cpsw-nuss.h |  37 +-
 drivers/net/ethernet/ti/am65-cpsw-xdp.c  | 155 ++++++++
 4 files changed, 692 insertions(+), 85 deletions(-)
---
base-commit: a0c3aefb08cd81864b17c23c25b388dba90b9dad
change-id: 20250225-am65-cpsw-xdp-zc-2af9e4be1356

Best regards,
-- 
Roger Quadros <rogerq@kernel.org>


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

end of thread, other threads:[~2025-12-12 20:37 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-09 21:37 [PATCH net-next v2 0/7] net: ethernet: ti: am65-cpsw: add AF_XDP zero copy support Roger Quadros
2025-11-09 21:37 ` [PATCH net-next v2 1/7] net: ethernet: ti: am65-cpsw: fix BPF Program change on multi-port CPSW Roger Quadros
2025-11-09 21:37 ` [PATCH net-next v2 2/7] net: ethernet: ti: am65-cpsw: Retain page_pool on XDP program exchange Roger Quadros
2025-11-09 21:37 ` [PATCH net-next v2 3/7] net: ethernet: ti: am65-cpsw: add XSK pool helpers Roger Quadros
2025-12-12 20:37   ` Qiu, Daolin
2025-11-09 21:37 ` [PATCH net-next v2 4/7] net: ethernet: ti: am65-cpsw: Add AF_XDP zero copy for RX Roger Quadros
2025-11-12  1:30   ` Jakub Kicinski
2025-11-09 21:37 ` [PATCH net-next v2 5/7] net: ethernet: ti: am65-cpsw: Add AF_XDP zero copy for TX Roger Quadros
2025-12-05 16:27   ` Qiu, Daolin
2025-11-09 21:37 ` [PATCH net-next v2 6/7] net: ethernet: ti: am65-cpsw: enable zero copy in XDP features Roger Quadros
2025-11-09 21:37 ` [PATCH net-next v2 7/7] net: ethernet: ti: am65-cpsw: Fix clearing of irq_disabled flag in rx_poll Roger Quadros
2025-11-12  1:22   ` Jakub Kicinski
2025-11-12  1:18 ` [PATCH net-next v2 0/7] net: ethernet: ti: am65-cpsw: add AF_XDP zero copy support Jakub Kicinski
2025-11-12 12:12   ` Chintan Vankar
2025-11-17  5:37 ` [EXTERNAL] " Meghana Malladi
2025-11-20  9:35 ` Meghana Malladi

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).