[dpdk-dev] [PATCH 0/3] Enable cuckoo hash in table library
Sankar Chokkalingam
sankarx.chokkalingam at intel.com
Sat Aug 27 02:01:05 CEST 2016
This patchset implements the table APIs for cuckoo hash.
This will enable any dpdk application to use the cuckoo hash table apis
instead of the direct apis from lib/librte_hash
The dosig version of the cuckoo hash is implemented in this patch
with the following APIs
rte_table_hash_cuckoo_create
rte_table_hash_cuckoo_free
rte_table_hash_cuckoo_entry_add
rte_table_hash_cuckoo_entry_delete
rte_table_hash_cuckoo_lookup_dosig
rte_table_hash_cuckoo_stats_read
The cuckoo hash library has been used by test-pipeline application
to benchmark the performance of the table lookup.
The test-pipeline application supports the following table-type for
cuckoo hash
hash-cuckoo-8
hash-cuckoo-16
hash-cuckoo-32
hash-cuckoo-48
hash-cuckoo-64
hash-cuckoo-80
hash-cuckoo-96
hash-cuckoo-112
hash-cuckoo-128
The key-sizes 8, 16 and 32 are already tested.
The table APIs are tested for basic functionality using
table_autotest and the results are OK.
Sankar Chokkalingam (3):
lib/librte_table: enabling cuckoo hash into table library
app/test-pipeline: added cuckoo hash for benchmarking
app/test: adding cuckoo hash table for testing
app/test-pipeline/config.c | 20 +-
app/test-pipeline/main.c | 12 +-
app/test-pipeline/main.h | 12 +-
app/test-pipeline/pipeline_hash.c | 58 +++++
app/test/test_table_combined.c | 72 +++++-
app/test/test_table_combined.h | 3 +-
app/test/test_table_tables.c | 157 +++++++++++-
app/test/test_table_tables.h | 3 +-
lib/librte_table/Makefile | 4 +-
lib/librte_table/rte_table_hash.h | 31 ++-
lib/librte_table/rte_table_hash_cuckoo.c | 416 +++++++++++++++++++++++++++++++
lib/librte_table/rte_table_version.map | 7 +
12 files changed, 786 insertions(+), 9 deletions(-)
create mode 100644 lib/librte_table/rte_table_hash_cuckoo.c
--
2.5.0
More information about the dev
mailing list