summaryrefslogtreecommitdiffstats
path: root/src/vppinfra
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2020-04-15 20:37:54 +0200
committerFlorin Coras <florin.coras@gmail.com>2020-04-15 19:34:11 +0000
commit8daeea9a5dc2c68c8e54fe7bdae98cec7072a9cd (patch)
treee768bc215dba740efc86120ac2ffc003a7e2bfbf /src/vppinfra
parent88bcba80d5328fa2b3191fab4ffdd396d69937f1 (diff)
vppinfra: don't use memcmp to compare keys in cuckoo
Type: improvement Change-Id: I7e11bf72be5fad5967724c038eb649a261294ca0 Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'src/vppinfra')
-rw-r--r--src/vppinfra/cuckoo_16_8.h2
-rw-r--r--src/vppinfra/cuckoo_8_8.h2
-rw-r--r--src/vppinfra/cuckoo_common.h1
-rw-r--r--src/vppinfra/cuckoo_template.h6
4 files changed, 1 insertions, 10 deletions
diff --git a/src/vppinfra/cuckoo_16_8.h b/src/vppinfra/cuckoo_16_8.h
index 0cc7b57bee0..b667ff6cbb8 100644
--- a/src/vppinfra/cuckoo_16_8.h
+++ b/src/vppinfra/cuckoo_16_8.h
@@ -31,11 +31,9 @@
#include <vppinfra/cuckoo_common.h>
#undef CLIB_CUCKOO_OPTIMIZE_PREFETCH
-#undef CLIB_CUCKOO_OPTIMIZE_CMP_REDUCED_HASH
#undef CLIB_CUCKOO_OPTIMIZE_UNROLL
#undef CLIB_CUCKOO_OPTIMIZE_USE_COUNT_LIMITS_SEARCH
#define CLIB_CUCKOO_OPTIMIZE_PREFETCH 1
-#define CLIB_CUCKOO_OPTIMIZE_CMP_REDUCED_HASH 1
#define CLIB_CUCKOO_OPTIMIZE_UNROLL 1
#define CLIB_CUCKOO_OPTIMIZE_USE_COUNT_LIMITS_SEARCH 1
diff --git a/src/vppinfra/cuckoo_8_8.h b/src/vppinfra/cuckoo_8_8.h
index ace535b58f6..67af79c0e50 100644
--- a/src/vppinfra/cuckoo_8_8.h
+++ b/src/vppinfra/cuckoo_8_8.h
@@ -31,11 +31,9 @@
#include <vppinfra/cuckoo_common.h>
#undef CLIB_CUCKOO_OPTIMIZE_PREFETCH
-#undef CLIB_CUCKOO_OPTIMIZE_CMP_REDUCED_HASH
#undef CLIB_CUCKOO_OPTIMIZE_UNROLL
#undef CLIB_CUCKOO_OPTIMIZE_USE_COUNT_LIMITS_SEARCH
#define CLIB_CUCKOO_OPTIMIZE_PREFETCH 1
-#define CLIB_CUCKOO_OPTIMIZE_CMP_REDUCED_HASH 1
#define CLIB_CUCKOO_OPTIMIZE_UNROLL 1
#define CLIB_CUCKOO_OPTIMIZE_USE_COUNT_LIMITS_SEARCH 1
diff --git a/src/vppinfra/cuckoo_common.h b/src/vppinfra/cuckoo_common.h
index 8b7b27aec30..ea0fc30084b 100644
--- a/src/vppinfra/cuckoo_common.h
+++ b/src/vppinfra/cuckoo_common.h
@@ -24,7 +24,6 @@
#include <vppinfra/types.h>
#define CLIB_CUCKOO_OPTIMIZE_PREFETCH 1
-#define CLIB_CUCKOO_OPTIMIZE_CMP_REDUCED_HASH 1
#define CLIB_CUCKOO_OPTIMIZE_UNROLL 1
#define CLIB_CUCKOO_OPTIMIZE_USE_COUNT_LIMITS_SEARCH 1
diff --git a/src/vppinfra/cuckoo_template.h b/src/vppinfra/cuckoo_template.h
index d48079a9e6c..364c2919d96 100644
--- a/src/vppinfra/cuckoo_template.h
+++ b/src/vppinfra/cuckoo_template.h
@@ -383,11 +383,7 @@ always_inline int CV (clib_cuckoo_bucket_search) (CVT (clib_cuckoo_bucket) *
break;
}
#endif
- if (
-#if CLIB_CUCKOO_OPTIMIZE_CMP_REDUCED_HASH
- reduced_hash == b->reduced_hashes[i] &&
-#endif
- 0 == memcmp (&kvp->key, &b->elts[i].key, sizeof (kvp->key)))
+ if (CV (clib_cuckoo_key_compare) (kvp->key, b->elts[i].key))
{
kvp->value = b->elts[i].value;
clib_cuckoo_bucket_aux_t bucket_aux2 = b->aux;