[ltt-dev] [PATCH 0/3] Fixes for threads that are readers and writers, and lock-free queue example
Mathieu Desnoyers
compudj at krystal.dyndns.org
Mon Mar 1 14:16:40 EST 2010
* Paolo Bonzini (pbonzini at redhat.com) wrote:
> The first two patches are bugfixes meant for application. They allow
> using threads that are readers and writers with implementations other
> than urcu-qsbr. In addition, they allow early unregistering of
> reader threads without risking deadlock with writers.
>
> The third patch is a sample implementation of lock-free queue following
> discussion with Paul last week.
>
> They do not depend on the previous patch series.
>
> Paolo Bonzini (3):
> add rcu_thread_{on,off}line to urcu-bp and urcu
> add rcu_thread_offline before rcu_unregister_thread
It is illegal to call rcu_unregister_thread from within a RCU read-side
critical section. So I don't see the point in adding support for
explicit thread offlining. Maybe it's a documentation issue that lead
you to assume that unregistering a thread from a read-side C.S. is
valid ?
Thanks,
Mathieu
> lock-free queue with RCU-based garbage collection
>
> README | 10 +-
> tests/Makefile.am | 36 +++-
> tests/test_qsbr_lfq.c | 587 +++++++++++++++++++++++++++++++++++++++++++++++++
> tests/test_urcu_lfq.c | 585 ++++++++++++++++++++++++++++++++++++++++++++++++
> urcu-bp-static.h | 17 ++
> urcu-bp.c | 26 +++
> urcu-bp.h | 4 +
> urcu-static.h | 15 ++
> urcu.c | 28 +++
> urcu.h | 4 +
> 10 files changed, 1307 insertions(+), 5 deletions(-)
> create mode 100644 tests/test_qsbr_lfq.c
> create mode 100644 tests/test_urcu_lfq.c
>
>
> _______________________________________________
> ltt-dev mailing list
> ltt-dev at lists.casi.polymtl.ca
> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
>
--
Mathieu Desnoyers
Operating System Efficiency Consultant
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list