[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