From: Wei Shen <wei1.shen@intel.com>
To: dev@dpdk.org
Cc: pablo.de.lara.guarch@intel.com, konstantin.ananyev@intel.com,
stephen@networkplumber.org, charlie.tai@intel.com,
christian.maciocco@intel.com, sameh.gobriel@intel.com,
wei1.shen@intel.com
Subject: [dpdk-dev] [PATCH v3] rte_hash: add scalable multi-writer insertion w/ Intel TSX
Date: Thu, 16 Jun 2016 15:14:13 -0700 [thread overview]
Message-ID: <1466115254-114498-1-git-send-email-wei1.shen@intel.com> (raw)
In-Reply-To: <1466052753-69632-1-git-send-email-wei1.shen@intel.com>
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
next prev parent reply other threads:[~2016-06-16 22:14 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-06 20:05 [dpdk-dev] [PATCH v1] hash: add tsx support for cuckoo hash Shen Wei
2016-05-07 4:56 ` Stephen Hemminger
2016-05-09 16:51 ` Shen, Wei1
2016-06-10 11:09 ` De Lara Guarch, Pablo
2016-06-15 23:45 ` De Lara Guarch, Pablo
2016-06-16 4:58 ` Shen, Wei1
2016-06-16 4:52 ` [dpdk-dev] [PATCH v2] rte_hash: add scalable multi-writer insertion w/ Intel TSX Wei Shen
2016-06-16 12:14 ` Ananyev, Konstantin
2016-06-16 22:14 ` Wei Shen [this message]
2016-06-16 22:14 ` [dpdk-dev] [PATCH v3] " Wei Shen
2016-06-16 22:22 ` De Lara Guarch, Pablo
2016-06-24 14:09 ` Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1466115254-114498-1-git-send-email-wei1.shen@intel.com \
--to=wei1.shen@intel.com \
--cc=charlie.tai@intel.com \
--cc=christian.maciocco@intel.com \
--cc=dev@dpdk.org \
--cc=konstantin.ananyev@intel.com \
--cc=pablo.de.lara.guarch@intel.com \
--cc=sameh.gobriel@intel.com \
--cc=stephen@networkplumber.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).