[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090919065523.GA17617@elte.hu>
Date: Sat, 19 Sep 2009 08:55:23 +0200
From: Ingo Molnar <mingo@...e.hu>
To: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Cc: linux-kernel@...r.kernel.org, laijs@...fujitsu.com,
dipankar@...ibm.com, akpm@...ux-foundation.org,
mathieu.desnoyers@...ymtl.ca, josh@...htriplett.org,
dvhltc@...ibm.com, niv@...ibm.com, tglx@...utronix.de,
peterz@...radead.org, rostedt@...dmis.org, Valdis.Kletnieks@...edu
Subject: Re: [PATCH tip/core/rcu 0/3] Cleanups/bugfixes for large systems
and TREE_PREEMPT_RCU
* Paul E. McKenney <paulmck@...ux.vnet.ibm.com> wrote:
> This set of patches does some cleanups and fixes a bug that prevents
> TREE_PREEMPT_RCU from running reliably on large systems (more than 64
> CPUs, or on 32-bit systems, more than 32 CPUs). The patches are as
> follows:
>
> 1. Add WARN_ON_ONCE() consistency checks to catch bugs. These
> are all on slowpaths, so are appropriate for production use.
>
> 2. Apply the results of a code walkthrough of rcutree_plugin.h.
> This includes a fix for a theoretical race that could result in
> excessively long RCU grace periods, or perhaps even hangs/OOMs.
>
> 3. Fix a bug introduced in a bugfix commit #de078d875 that caused
> large systems to only partially initialize the fields in the
> rcu_node tree. TREE_RCU doesn't care about any of these fields,
> which explains why only TREE_PREEMPT_RCU was broken.
>
> With these fixes, large systems using TREE_PREEMPT_RCU pass moderate
> rcutorture runs (but with Josh Triplett's mods that force frequent
> preemption within RCU read-side critical sections). I am sure that
> there are more bugs, but these fixes get things much closer.
>
> b/kernel/rcutree.c | 13 +++++++++----
> b/kernel/rcutree_plugin.h | 21 ++++++++++++++-------
> kernel/rcutree.c | 38 +++++++++-----------------------------
> kernel/rcutree_plugin.h | 16 +++++++++-------
> 4 files changed, 41 insertions(+), 47 deletions(-)
Thanks Paul, applied them to tip:core/urgent.
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists