DPDK-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] lpm: use scalar lookupx4 on RISC-V
@ 2026-10-05  6:30 Sun Yuechi
  2026-10-05  6:30 ` [PATCH 1/2] lpm: load tbl24 entries up front in scalar lookupx4 Sun Yuechi
  2026-10-05  6:30 ` [PATCH 2/2] lpm: use scalar lookupx4 on RISC-V Sun Yuechi
  0 siblings, 2 replies; 3+ messages in thread
From: Sun Yuechi @ 2026-10-05  6:30 UTC (permalink / raw)
  To: Bruce Richardson, Vladimir Medvedkin; +Cc: dev, Sun Yuechi

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-10-05  6:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-05  6:30 [PATCH 0/2] lpm: use scalar lookupx4 on RISC-V Sun Yuechi
2026-10-05  6:30 ` [PATCH 1/2] lpm: load tbl24 entries up front in scalar lookupx4 Sun Yuechi
2026-10-05  6:30 ` [PATCH 2/2] lpm: use scalar lookupx4 on RISC-V Sun Yuechi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox