[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