All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH liburcu 0/2] Remove RCU requirements on hash table destroy
@ 2017-05-30 21:10 Mathieu Desnoyers
  0 siblings, 0 replies; 3+ messages in thread
From: Mathieu Desnoyers @ 2017-05-30 21:10 UTC (permalink / raw)
  To: rp, Paul E . McKenney, Stephen Hemminger, Alan Stern, jiangshanlai
  Cc: lttng-dev

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

_______________________________________________
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

^ permalink raw reply	[flat|nested] 3+ messages in thread
[parent not found: <1496178620-14755-1-git-send-email-mathieu.desnoyers@efficios.com>]

end of thread, other threads:[~2017-06-06 18:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-30 21:10 [RFC PATCH liburcu 0/2] Remove RCU requirements on hash table destroy Mathieu Desnoyers
     [not found] <1496178620-14755-1-git-send-email-mathieu.desnoyers@efficios.com>
2017-06-05 22:56 ` Paul E. McKenney
     [not found] ` <20170605225608.GY3721@linux.vnet.ibm.com>
2017-06-06 18:07   ` Mathieu Desnoyers

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.