From: Ingo Molnar <mingo@elte.hu>
To: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Cc: linux-kernel@vger.kernel.org, laijs@cn.fujitsu.com,
dipankar@in.ibm.com, akpm@linux-foundation.org,
mathieu.desnoyers@polymtl.ca, josh@joshtriplett.org,
dvhltc@us.ibm.com, niv@us.ibm.com, tglx@linutronix.de,
peterz@infradead.org, rostedt@goodmis.org,
Valdis.Kletnieks@vt.edu, dhowells@redhat.com
Subject: Re: [PATCH tip/core/rcu 0/3] rcu: prevent hangs by simplifying rcu_barrier/CPU-hotplug, fix lockdep complaint
Date: Wed, 7 Oct 2009 08:14:48 +0200 [thread overview]
Message-ID: <20091007061448.GA21673@elte.hu> (raw)
In-Reply-To: <20091007044748.GA12763@linux.vnet.ibm.com>
* Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:
> This patchset fixes a couple of issues with TREE_PREEMPT_RCU:
>
> 1. The current implementation of rcu_barrier() waits for any
> prior CPU-hotplug operation to complete. This code path has
> resulted in some hangs, so first move this code from rcupdate.c
> to rcutree.c and then use a simpler algorithm that avoids the
> waiting, eliminating the possibility of such hangs.
>
> 2. The lockdep facility complains from time to time due to the
> fact that certain combinations of CPU-hotplug operations can
> cause the TREE_PREEMPT_RCU code to acquire the root rcu_node
> structure's lock while holding a leaf rcu_node structure's
> lock. This patch places the root rcu_node structure's lock
> into its own lockdep class to prevent this false positive.
>
> Ingo, please rewind tip/core/rcu to commit #135c8aea before applying this
> series, as these patches really need to go into 2.6.32. Reworked and
> retested rcutiny (for 2.6.33, as Linus requested) will follow in a
> few days. Or more patches for more bug fixes, as the case may be. ;-)
>
> b/kernel/rcupdate.c | 120 -----------------------------------
> b/kernel/rcutree.c | 120 +++++++++++++++++++++++++++++++++++
> b/kernel/rcutree.h | 11 ++-
> b/kernel/rcutree_plugin.h | 34 ++++++++++
> b/kernel/rcutree_trace.c | 5 -
> kernel/rcutree.c | 156 ++++++++++++++++++++++++----------------------
> 6 files changed, 248 insertions(+), 198 deletions(-)
Applied, thanks Paul!
I dropped these commits for now:
3ffea79: rcu: Make hot-unplugged CPU relinquish its own RCU callbacks
eddd962: rcu: Move rcu_barrier() to rcutree, make lightweight rcu_barrier() for rcutiny
a39e7d5: rcu-tiny: The Bloatwatch Edition, v6
We can apply rcu-tiny for .33 again, once the dust has settled.
Ingo
next prev parent reply other threads:[~2009-10-07 6:16 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-07 4:47 [PATCH tip/core/rcu 0/3] rcu: prevent hangs by simplifying rcu_barrier/CPU-hotplug, fix lockdep complaint Paul E. McKenney
2009-10-07 4:48 ` [PATCH tip/core/rcu 1/3] rcu: move rcu_barrier() to rcutree Paul E. McKenney
2009-10-07 6:16 ` [tip:core/rcu] rcu: Move " tip-bot for Paul E. McKenney
2009-10-07 4:48 ` [PATCH tip/core/rcu 2/3] rcu: make hot-unplugged CPU relinquish its own RCU callbacks Paul E. McKenney
2009-10-07 6:17 ` [tip:core/rcu] rcu: Make " tip-bot for Paul E. McKenney
2009-10-07 13:16 ` [PATCH tip/core/rcu 2/3] rcu: make " Steven Rostedt
2009-10-07 13:50 ` Paul E. McKenney
2009-10-07 4:48 ` [PATCH tip/core/rcu 3/3] rcu: place root rcu_node structure in separate lockdep class Paul E. McKenney
2009-10-07 6:17 ` [tip:core/rcu] rcu: Place " tip-bot for Paul E. McKenney
2009-10-08 9:31 ` [PATCH tip/core/rcu 3/3] rcu: place " Peter Zijlstra
2009-10-07 6:14 ` Ingo Molnar [this message]
2009-10-07 13:52 ` [PATCH tip/core/rcu 0/3] rcu: prevent hangs by simplifying rcu_barrier/CPU-hotplug, fix lockdep complaint Paul E. McKenney
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=20091007061448.GA21673@elte.hu \
--to=mingo@elte.hu \
--cc=Valdis.Kletnieks@vt.edu \
--cc=akpm@linux-foundation.org \
--cc=dhowells@redhat.com \
--cc=dipankar@in.ibm.com \
--cc=dvhltc@us.ibm.com \
--cc=josh@joshtriplett.org \
--cc=laijs@cn.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@polymtl.ca \
--cc=niv@us.ibm.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
/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 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.