[PATCH v6 0/7] Cuckoo hash optimization for small key sizes

Stephen Hemminger
2026-03-29T23:24:22Z

This series improves the hash library's key comparison performance
and portability. The main goals are:

- Hide internal implementation details to prevent future ABI breakage
- Enable optimized key comparisons on all architectures (not just
x86 and ARM64)
- Add specialized compare functions for common small key sizes
(2-20 bytes) to avoid memcmp overhead
- Improve test coverage and code quality

v6 - rebase to main integrate the recent rcu test

Stephen Hemminger (7):
hash: move table of hash compare functions out of header
hash: use static_assert
hash: remove spurious warnings in CRC32 init
hash: simplify key comparison across architectures
hash: add support for common small key sizes
app/test: convert hash test to use test suite runner
test/hash: add test for key compare functions

app/test/test_hash.c | 253 ++++++++++++++++++++++---------
lib/hash/rte_cmp_arm64.h | 62 +-------
lib/hash/rte_cmp_generic.h | 35 +++++
lib/hash/rte_cmp_x86.h | 62 +-------
lib/hash/rte_cuckoo_hash.c | 301 ++++++++++++++++++++++++++++++++-----
lib/hash/rte_cuckoo_hash.h | 84 +----------
lib/hash/rte_hash_crc.c | 8 +-
7 files changed, 491 insertions(+), 314 deletions(-)
create mode 100644 lib/hash/rte_cmp_generic.h

--
2.53.0