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

Reply via email to