[lttng-dev] [RFC PATCH liburcu 0/2] Remove RCU requirements on hash table destroy
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Tue May 30 21:10:18 UTC 2017
The RCU lock-free hash table currently requires that the destroy
function should not be called from within RCU read-side critical
sections. This is caused by the lazy resize, which uses the call_rcu
worker thread, even though all it really needs is a workqueue/worker
thread scheme.
Implement an internal workqueue API in liburcu, and use it instead of
call_rcu in rculfhash to overcome this limitation.
Mathieu Desnoyers (2):
Implement urcu workqueues internal API
Use workqueue in rculfhash
include/urcu/rculfhash.h | 15 +-
src/Makefile.am | 2 +-
src/rculfhash-internal.h | 2 +-
src/rculfhash.c | 124 ++++++------
src/workqueue.c | 507 +++++++++++++++++++++++++++++++++++++++++++++++
src/workqueue.h | 104 ++++++++++
6 files changed, 686 insertions(+), 68 deletions(-)
create mode 100644 src/workqueue.c
create mode 100644 src/workqueue.h
--
2.1.4
More information about the lttng-dev
mailing list