[dpdk-dev] [PATCH v3] rte_hash: add scalable multi-writer insertion w/ Intel TSX
Wei Shen
wei1.shen at intel.com
Fri Jun 17 00:14:13 CEST 2016
Here's the latest version of the rte_hash multi-writer patch.
It's re-based on top of the latest head as of Jun 16, 2016.
http://dpdk.org/dev/patchwork/patch/13886/
http://dpdk.org/dev/patchwork/patch/12589/
v3 changes:
* Made spinlock as fall back behavior when developer choose to use multi-writer
behavior while HTM is not available.
* Created a rte_cuckoo_hash_x86.h file to hold all x86-specific related
cuckoo_hash functions. And rte_cuckoo_hash.c uses compile time flag to
select x86 file or other platform-specific implementations. While HTM check
is still done at runtime (same with RTE_HASH_EXTRA_FLAGS_TRANS_MEM_SUPPORT)
* Moved rte_hash private struct definitions to rte_cuckoo_hash.h, to allow
rte_cuckoo_hash_x86.h or future platform dependent functions to include.
* Following renaming for consistent names when new platform TM support are
added.
- rte_hash_cuckoo_insert_mw_tm for trying insertion without moving buckets
around.
- rte_hash_cuckoo_move_insert_mw_tm for trying insertion by moving buckets
around.
v2 changes:
* Address issues pointed out by reviews on mailing list.
* Removed the RTE_HASH_KEY_FLAG_MOVED flag used in v1, which would cause
problem when key deletion happens.
Wei Shen (1):
rte_hash: add scalable multi-writer insertion w/ Intel TSX
app/test/Makefile | 1 +
app/test/test_hash_multiwriter.c | 287 +++++++++++++++++++++++++++++++++
doc/guides/rel_notes/release_16_07.rst | 12 ++
lib/librte_hash/rte_cuckoo_hash.c | 258 ++++++++++-------------------
lib/librte_hash/rte_cuckoo_hash.h | 219 +++++++++++++++++++++++++
lib/librte_hash/rte_cuckoo_hash_x86.h | 193 ++++++++++++++++++++++
lib/librte_hash/rte_hash.h | 3 +
7 files changed, 796 insertions(+), 177 deletions(-)
create mode 100644 app/test/test_hash_multiwriter.c
create mode 100644 lib/librte_hash/rte_cuckoo_hash.h
create mode 100644 lib/librte_hash/rte_cuckoo_hash_x86.h
--
2.5.5
More information about the dev
mailing list