From: pbonzini@redhat.com (Paolo Bonzini)
Subject: [ltt-dev] [PATCH 00/10] call_rcu: futex wakeup and miscellaneous improvements
Date: Wed, 8 Jun 2011 10:59:08 +0200 [thread overview]
Message-ID: <1307523558-16960-1-git-send-email-pbonzini@redhat.com> (raw)
Hi,
this series redoes the futex implementation so that it does not busily
wait for the list to be filled.
I'm reusing the flags field as the futex variable, so I'm at the same
time converting it from mutex-protected to atomic (patch 5) and adding
more atomic operations to the uatomic library (patches 3, 4, 6).
Patches 1 and 2 are unrelated bugfixes. Patch 7 is a simple
cleanup in the call_rcu areas that I was touching anyway.
Patch 8 is the actual futex implementation, with patches 9 and 10 further
optimizing the readers to avoid system calls when a call_rcu is already
scheduled; I separated them to simplify bisection in case things go wrong.
Paolo Bonzini (10):
urcu-qsbr: fix typo
rcutorture: make goflag volatile
uatomic: fix typo in x86 compat implementation
uatomic: add uatomic_or
call_rcu: drop mutex
uatomic: add uatomic_and
call_rcu: remove write-only qlen variable
call_rcu: redo futex implementation
call_rcu: factor polling from RT and non-RT cases
call_rcu: avoid useless futex wakeups
compat_arch_x86.c | 50 ++++++++++++
tests/rcutorture.h | 3 +-
tests/test_uatomic.c | 8 ++-
urcu-call-rcu-impl.h | 84 +++++++++------------
urcu-call-rcu.h | 1 +
urcu-qsbr.h | 2 +-
urcu/uatomic_arch_x86.h | 130 +++++++++++++++++++++++++++++++-
urcu/uatomic_generic.h | 194 +++++++++++++++++++++++++++++++++++++++++++++++
8 files changed, 418 insertions(+), 54 deletions(-)
--
1.7.4.4
next reply other threads:[~2011-06-08 8:59 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-08 8:59 Paolo Bonzini [this message]
2011-06-08 8:59 ` [ltt-dev] [PATCH 01/10] urcu-qsbr: fix typo Paolo Bonzini
2011-06-08 22:05 ` Mathieu Desnoyers
2011-06-08 8:59 ` [ltt-dev] [PATCH 02/10] rcutorture: make goflag volatile Paolo Bonzini
2011-06-08 22:09 ` Mathieu Desnoyers
2011-06-08 8:59 ` [ltt-dev] [PATCH 03/10] uatomic: fix typo in x86 compat implementation Paolo Bonzini
2011-06-08 22:10 ` Mathieu Desnoyers
2011-06-08 8:59 ` [ltt-dev] [PATCH 04/10] uatomic: add uatomic_or Paolo Bonzini
2011-06-09 13:28 ` Mathieu Desnoyers
2011-06-08 8:59 ` [ltt-dev] [PATCH 05/10] call_rcu: drop mutex Paolo Bonzini
2011-06-08 8:59 ` [ltt-dev] [PATCH 06/10] uatomic: add uatomic_and Paolo Bonzini
2011-06-09 13:30 ` Mathieu Desnoyers
2011-06-08 8:59 ` [ltt-dev] [PATCH 07/10] call_rcu: remove write-only qlen variable Paolo Bonzini
2011-06-08 22:15 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP745CE4EF0C62A2E659C78F96620@phx.gbl>
2011-06-08 22:42 ` Paul E. McKenney
2011-06-08 22:46 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP1821FB0D3BC6534C4B2B5896620@phx.gbl>
2011-06-08 23:25 ` Paul E. McKenney
2011-06-08 23:30 ` Mathieu Desnoyers
2011-06-08 8:59 ` [ltt-dev] [PATCH 08/10] call_rcu: redo futex implementation Paolo Bonzini
2011-06-08 22:42 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP66FE311FC9ADF1B74FBB2796620@phx.gbl>
2011-06-09 6:54 ` Paolo Bonzini
2011-06-09 13:24 ` Mathieu Desnoyers
2011-06-09 13:34 ` Mathieu Desnoyers
2011-06-08 8:59 ` [ltt-dev] [PATCH 09/10] call_rcu: factor polling from RT and non-RT cases Paolo Bonzini
2011-06-09 14:06 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP757CECBC5909B84A8F37BD96650@phx.gbl>
2011-06-09 14:20 ` Paolo Bonzini
2011-06-08 8:59 ` [ltt-dev] [PATCH 10/10] call_rcu: avoid useless futex wakeups Paolo Bonzini
2011-06-09 14:07 ` Mathieu Desnoyers
2011-06-08 9:17 ` [ltt-dev] [PATCH] call_rcu: keep BUSY flag set as long as possible Paolo Bonzini
2011-06-09 14:09 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP5719D5284785410F8A3E1396650@phx.gbl>
2011-06-09 14:20 ` Paolo Bonzini
2011-06-09 14:43 ` Mathieu Desnoyers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1307523558-16960-1-git-send-email-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox