[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:30:16 EST 2010
* Mathieu Desnoyers (compudj at krystal.dyndns.org) wrote:
> * 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 ?
By the way, it's also illegal to call synchronize_rcu() from a RCU
read-side C.S. But I don't see exactly where your lock-free list needs
to do any of these operations that would result in deadlocks ?
Thanks,
Mathieu
>
> 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
>
> _______________________________________________
> 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