[dpdk-dev] [PATCH v3 0/5] lpm lookup with sve support

Ruifeng Wang ruifeng.wang at arm.com
Tue Jan 12 03:57:03 CET 2021


Added lpm4 lookupx4 implementation by using Arm SVE extension.
The SVE is Scalable Vector Extension which is exposed to the
user with a vector length agnostic interface.
Refer to [1] for more information about SVE.

Configuration was added for Neoverse N2 CPU which has SVE support.

Some bugs were fixed so compiling with sve enabled can pass.

[1] https://developer.arm.com/tools-and-software/server-and-hpc/compile/arm-instruction-emulator/resources/tutorials/sve

---
v2:
Fixed tbl8 group index calculation. (Vladimir)
Added N2 config.
Fixed compiling when sve was enabled.

Ruifeng Wang (5):
  lpm: add sve support for lookup on Arm platform
  net/hns3: fix build with sve enabled
  net/octeontx: fix build with sve enabled
  common/octeontx2: fix build with sve enabled
  config: add Arm Neoverse N2

 config/arm/arm64_n2_linux_gcc            | 17 +++++
 config/arm/meson.build                   | 11 +++-
 drivers/common/octeontx2/otx2_io_arm64.h | 15 +++--
 drivers/net/hns3/hns3_rxtx.c             |  4 +-
 drivers/net/hns3/meson.build             |  1 -
 drivers/net/octeontx/base/octeontx_io.h  | 10 ++-
 lib/librte_eal/arm/include/rte_vect.h    |  3 +
 lib/librte_lpm/meson.build               |  2 +-
 lib/librte_lpm/rte_lpm.h                 |  4 ++
 lib/librte_lpm/rte_lpm_sve.h             | 83 ++++++++++++++++++++++++
 10 files changed, 139 insertions(+), 11 deletions(-)
 create mode 100644 config/arm/arm64_n2_linux_gcc
 create mode 100644 lib/librte_lpm/rte_lpm_sve.h

-- 
2.25.1



More information about the dev mailing list