From: Dharmik Thakkar <dharmik.thakkar@arm.com> Cc: dev@dpdk.org, nd@arm.com, Dharmik Thakkar <dharmik.thakkar@arm.com> Subject: [dpdk-dev] [PATCH 0/3] hash: integrate RCU QSBR Date: Fri, 16 Oct 2020 12:38:55 -0500 Message-ID: <20201016173858.1134-1-dharmik.thakkar@arm.com> (raw) In-Reply-To: <20200819040537.1792-1-dharmik.thakkar@arm.com> Integrate RCU QSBR to make it easier for the applications to use lock free algorithm. Resource reclamation implementation was split from the original series, and has already been part of RCU library. Rework the series to base hash integration on RCU reclamation APIs. Refer 'Resource reclamation framework for DPDK' available at [1] to understand various aspects of integrating RCU library into other libraries. [1] https://doc.dpdk.org/guides/prog_guide/rcu_lib.html Introduce a new API rte_hash_rcu_qsbr_add for application to register a RCU variable that hash library will use. Functional tests and performance tests are added to cover the integration with RCU. --- v3: - Add documentation - Add unit tests v2: - Remove defer queue related functions and use resource reclamation APIs from the RCU QSBR library instead - Remove patch (net/ixgbe: avoid multpile definitions of 'bool') from the series as it is already accepted Dharmik Thakkar (3): lib/hash: integrate RCU QSBR test/hash: replace rte atomic with C11 atomic APIs test/hash: add tests for integrated RCU QSBR app/test/test_hash.c | 390 ++++++++++++++++++++++++- app/test/test_hash_readwrite_lf_perf.c | 260 +++++++++++++---- doc/guides/prog_guide/hash_lib.rst | 11 +- lib/librte_hash/meson.build | 1 + lib/librte_hash/rte_cuckoo_hash.c | 300 ++++++++++++++----- lib/librte_hash/rte_cuckoo_hash.h | 8 + lib/librte_hash/rte_hash.h | 77 ++++- lib/librte_hash/rte_hash_version.map | 2 +- 8 files changed, 917 insertions(+), 132 deletions(-) -- 2.17.1
next prev parent reply other threads:[~2020-10-16 17:39 UTC|newest] Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-09-01 6:58 [dpdk-dev] [RFC 0/3] RCU integration with hash library Dharmik Thakkar 2019-09-01 6:58 ` [dpdk-dev] [RFC 1/3] net/ixgbe: avoid multpile definitions of 'bool' Dharmik Thakkar 2019-09-05 15:26 ` Stephen Hemminger 2019-09-05 20:10 ` Dharmik Thakkar 2019-09-05 20:23 ` Stephen Hemminger 2019-09-01 6:58 ` [dpdk-dev] [RFC 2/3] lib/hash: integrate RCU QSBR Dharmik Thakkar 2019-09-01 6:58 ` [dpdk-dev] [RFC 3/3] test/hash: add tests for integrated " Dharmik Thakkar 2019-09-05 21:31 ` [dpdk-dev] [RFC 0/3] RCU integration with hash library Wang, Yipeng1 2020-08-19 4:05 ` [dpdk-dev] [RFC v2] lib/hash: integrate RCU QSBR Dharmik Thakkar 2020-08-25 19:59 ` Dharmik Thakkar 2020-08-31 20:47 ` Wang, Yipeng1 2020-09-01 22:01 ` Dharmik Thakkar 2020-10-16 13:53 ` David Marchand 2020-10-16 15:04 ` Dharmik Thakkar 2020-10-16 17:38 ` Dharmik Thakkar [this message] 2020-10-16 17:38 ` [dpdk-dev] [PATCH v3 1/3] " Dharmik Thakkar 2020-10-19 9:43 ` Kinsella, Ray 2020-10-16 17:38 ` [dpdk-dev] [PATCH v3 2/3] test/hash: replace rte atomic with C11 atomic APIs Dharmik Thakkar 2020-10-16 17:38 ` [dpdk-dev] [PATCH v3 3/3] test/hash: add tests for integrated RCU QSBR Dharmik Thakkar 2020-10-19 14:48 ` [dpdk-dev] [PATCH 0/3] hash: integrate " David Marchand 2020-10-19 16:35 ` [dpdk-dev] [PATCH v4 " Dharmik Thakkar 2020-10-19 16:35 ` [dpdk-dev] [PATCH v4 1/3] lib/hash: " Dharmik Thakkar 2020-10-19 16:35 ` [dpdk-dev] [PATCH v4 2/3] test/hash: replace rte atomic with C11 atomic APIs Dharmik Thakkar 2020-10-19 16:35 ` [dpdk-dev] [PATCH v4 3/3] test/hash: add tests for integrated RCU QSBR Dharmik Thakkar 2020-10-19 21:05 ` [dpdk-dev] [PATCH v4 0/3] hash: integrate " David Marchand 2020-10-20 4:08 ` Dharmik Thakkar 2020-10-20 16:12 ` [dpdk-dev] [PATCH v5 0/4] " Dharmik Thakkar 2020-10-20 16:12 ` [dpdk-dev] [PATCH v5 1/4] rcu: build on Windows Dharmik Thakkar 2020-10-20 16:12 ` [dpdk-dev] [PATCH v5 2/4] lib/hash: integrate RCU QSBR Dharmik Thakkar 2020-10-21 2:42 ` Wang, Yipeng1 2020-10-21 4:52 ` Dharmik Thakkar 2020-10-20 16:13 ` [dpdk-dev] [PATCH v5 3/4] test/hash: replace rte atomic with C11 atomic APIs Dharmik Thakkar 2020-10-21 2:52 ` Wang, Yipeng1 2020-10-20 16:13 ` [dpdk-dev] [PATCH v5 4/4] test/hash: add tests for integrated RCU QSBR Dharmik Thakkar 2020-10-21 3:54 ` Wang, Yipeng1 2020-10-21 4:55 ` Dharmik Thakkar 2020-10-21 22:34 ` Honnappa Nagarahalli 2020-10-21 22:50 ` [dpdk-dev] [PATCH v6 0/4] hash: integrate " Dharmik Thakkar 2020-10-21 22:50 ` [dpdk-dev] [PATCH v6 1/4] rcu: build on Windows Dharmik Thakkar 2020-10-22 9:05 ` David Marchand 2020-10-22 18:35 ` Kadam, Pallavi 2020-10-21 22:50 ` [dpdk-dev] [PATCH v6 2/4] lib/hash: integrate RCU QSBR Dharmik Thakkar 2020-10-23 21:46 ` Dharmik Thakkar 2020-10-23 22:08 ` Wang, Yipeng1 2020-10-21 22:50 ` [dpdk-dev] [PATCH v6 3/4] test/hash: replace rte atomic with C11 atomic APIs Dharmik Thakkar 2020-10-21 22:50 ` [dpdk-dev] [PATCH v6 4/4] test/hash: add tests for integrated RCU QSBR Dharmik Thakkar 2020-10-23 22:11 ` Wang, Yipeng1 2020-10-24 9:09 ` [dpdk-dev] [PATCH v6 0/4] hash: integrate " David Marchand 2020-10-26 13:56 ` Dharmik Thakkar
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=20201016173858.1134-1-dharmik.thakkar@arm.com \ --to=dharmik.thakkar@arm.com \ --cc=dev@dpdk.org \ --cc=nd@arm.com \ /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
DPDK patches and discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://inbox.dpdk.org/dev/0 dev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 dev dev/ http://inbox.dpdk.org/dev \ dev@dpdk.org public-inbox-index dev Example config snippet for mirrors. Newsgroup available over NNTP: nntp://inbox.dpdk.org/inbox.dpdk.dev AGPL code for this site: git clone https://public-inbox.org/public-inbox.git