Skip to content

net/iavf: add NEON support for Rx/Tx paths

Jay Wang dpdk-dev 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest3 patches 1 replyIn review
  2. v23 patches 0 repliesSuperseded
  3. v13 patches 0 repliesSuperseded

Changes in v3 from the cover letter

- Optimised the branch prediction in counting packets by changing unlikely() to likely()
- Added the single-core performance data from Grace + E810 done by Andrew

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3net/iavf: add Rx scattered function for 32B descdrivers/net/intel/iavf/iavf.h drivers/net/intel/iavf/iavf_rxtx.c drivers/net/intel/iavf/iavf_rxtx_vec_neon.c +1 more+122 -70 replies
2/3net/iavf: add NEON-optimised Tx burst functiondrivers/net/intel/iavf/iavf.h drivers/net/intel/iavf/iavf_rxtx.c drivers/net/intel/iavf/iavf_rxtx.h +1 more+133 -50 replies
3/3net/iavf: add NEON support for Rx flex descdrivers/net/intel/iavf/iavf.h drivers/net/intel/iavf/iavf_rxtx.c drivers/net/intel/iavf/iavf_rxtx_vec_neon.c+542 -60 replies

Reviews trailers per patch

None of the 3 patches has a Reviewed-by or Acked-by.

PatchAndrew Bailey
1/3
2/3
3/3T-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v3 thread

Cover letter [PATCH v3 0/3] net/iavf: add NEON support for Rx/Tx paths

- Add the scattered Rx burst function for 32B legacy descriptor
- Add the NEON-optimised Tx burst function
- Add the NEON-optimised Rx burst functions for flexible descriptor

Single-core benchmark result on a Grace server with an Intel E810:

| buffer sz (B) | prev (MPPS) | optimised (MPPS) | uplift |
| ------------- | ----------- | ---------------- | ------ |
| 64            | 62.241      | 86.010           | 38.2%  |
| 128           | 60.813      | 81.453           | 33.9%  |
| 256           | 23.730      | 24.633           | 3.8%   |
| 512           | 10.268      | 10.380           | 1.1%   |
| 1024          | 4.588       | 4.628            | 0.9%   |
| 1518          | 4.601       | 4.669            | 1.5%   |

---
v3:
- Optimised the branch prediction in counting packets by changing unlikely() to likely()
- Added the single-core performance data from Grace + E810 done by Andrew

v2:
- Fixed the AArch32 cross-building issue on AArch64 by restricting the call of iavf_rxq_vec_setup to AArch64 only

Jay Wang (3):
net/iavf: add Rx scattered function for 32B desc net/iavf: add NEON-optimised Tx burst function net/iavf: add NEON support for Rx flex desc

 drivers/net/intel/iavf/iavf.h               |   4 +
 drivers/net/intel/iavf/iavf_rxtx.c          |  54 +-
 drivers/net/intel/iavf/iavf_rxtx.h          |   2 -
 drivers/net/intel/iavf/iavf_rxtx_vec_neon.c | 753 +++++++++++++++++++-
 drivers/net/intel/iavf/meson.build          |   2 +-
 5 files changed, 797 insertions(+), 18 deletions(-)
Signature · 1 line
2.43.0