The RVV rte_lpm_lookupx4() beats the scalar version only on in-order
cores, and only because it reads the four tbl24 entries up front.
Patch 1 makes the scalar version do the same, patch 2 removes the RVV
version.
lpm_perf_autotest, LookupX4, units differ per machine:
SpacemiT X60 Sophgo SG2044 SpacemiT X100
(in-order) (out-of-order) (out-of-order)
rv64gc rv64gcv rv64gc rva23u64 rv64gc rva23u64
main 5.5 4.4 (RVV) 2.7 3.2 (RVV) 35.2 54.3 (RVV)
patched 2.5 2.7-3.2 2.7 2.9 34.6 41.3
Sun Yuechi (2):
lpm: load tbl24 entries up front in scalar lookupx4
lpm: use scalar lookupx4 on RISC-V
lib/lpm/meson.build | 1 -
lib/lpm/rte_lpm.h | 2 --
lib/lpm/rte_lpm_rvv.h | 59 ----------------------------------------
lib/lpm/rte_lpm_scalar.h | 40 +++++++++++++++++++--------
4 files changed, 29 insertions(+), 73 deletions(-)
delete mode 100644 lib/lpm/rte_lpm_rvv.h
--
2.56.0