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. I'm still investigating this issue.

AF_XDP performance using 64 byte packets in Kpps.
Benchmark:      XDP-SKB         XDP-Native      XDP-Native(ZeroCopy)
rxdrop          317             504             824
txonly          400             405             757
l2fwd           207             264             0

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

To: 

Signed-off-by: Roger Quadros <rog...@kernel.org>
---
Roger Quadros (5):
      net: ethernet: ti: am65-cpsw: fix BPF Program change on multi-port CPSW
      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

 drivers/net/ethernet/ti/Makefile         |   2 +-
 drivers/net/ethernet/ti/am65-cpsw-nuss.c | 526 +++++++++++++++++++++++++++----
 drivers/net/ethernet/ti/am65-cpsw-nuss.h |  37 ++-
 drivers/net/ethernet/ti/am65-cpsw-xdp.c  | 155 +++++++++
 4 files changed, 656 insertions(+), 64 deletions(-)
---
base-commit: 9f607dc39b6658ba8ea647bd99725e68c66071b7
change-id: 20250225-am65-cpsw-xdp-zc-2af9e4be1356

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

Reply via email to