[dpdk-dev] [PATCH v5 0/4] hash: integrate RCU QSBR
Dharmik Thakkar
dharmik.thakkar at arm.com
Tue Oct 20 18:12:57 CEST 2020
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.
---
v5:
- Enable 'rcu' for Windows
v4:
- Fix clang compilation issues
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 (4):
rcu: build on Windows
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 | 259 ++++++++++++----
doc/guides/prog_guide/hash_lib.rst | 11 +-
lib/librte_hash/meson.build | 1 +
lib/librte_hash/rte_cuckoo_hash.c | 302 ++++++++++++++-----
lib/librte_hash/rte_cuckoo_hash.h | 8 +
lib/librte_hash/rte_hash.h | 77 ++++-
lib/librte_hash/version.map | 2 +-
lib/meson.build | 1 +
9 files changed, 918 insertions(+), 133 deletions(-)
--
2.17.1
More information about the dev
mailing list