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

Reply via email to