From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Cc: linux-kernel@vger.kernel.org, mingo@elte.hu,
laijs@cn.fujitsu.com, dipankar@in.ibm.com,
akpm@linux-foundation.org, 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: resend of grace-period stall and cleanup patches
Date: Sun, 22 Nov 2009 09:42:03 -0800 [thread overview]
Message-ID: <20091122174203.GE9029@linux.vnet.ibm.com> (raw)
In-Reply-To: <20091122170542.GA12827@Krystal>
On Sun, Nov 22, 2009 at 12:05:42PM -0500, Mathieu Desnoyers wrote:
> * Paul E. McKenney (paulmck@linux.vnet.ibm.com) wrote:
> > Hello!
> >
> > This patch series is a resend of the three RCU patches that are candidates
> > for the upcoming 2.6.33 merge window, but that are not yet in -tip.
> > These are:
> >
> > 1. A fix for a grace-period-stall bug that occurs on large
> > machines.
> [...]
>
> Hi Paul,
>
> I was thinking about the last bugs you discovered. Some caracteristics
> they had in common were that they occur only on large marchines (32+ or
> 64+ CPUs). This is caused by the fact that some of your code is only
> covered by tests when the number of CPUs go over the architecture size
> (in bits).
>
> I managed to cover this kind of scenario with smaller state-space in the
> LTTng formal models (but it also applies to kernel code) by tweaking the
> code, with bitmasks, to ensure that the number of bits the code uses is,
> e.g., no more than the minimum amount of required bits. Therefore, you
> are ensured to run into overflow scenarios either more quickly or, as in
> this case, on decently-sized hardware.
You mean by setting CONFIG_RCU_FANOUT=2 in order to get three levels
of rcu_node hierarchy on an eight-CPU machine, which would otherwise
require more than 1024 CPU on a 32-bit system or more that 4096 CPUs on
a 64-bit system? ;-)
http://paulmck.livejournal.com/14969.html
But yes, the largest machine I have access to has "only" 128 CPUs,
and it is often heavily used by others. So I heartily agree with
your point, which is that we should use various techniques to test
code on smaller machines in ways that larger machines will stress it.
Of course, my favorite such technique is differential profiling, which
allows performance results collected on small machines to reveal problems
that would only show up on large machines:
http://www.rdrop.com/users/paulmck/scalability/paper/profiling.2002.06.04.pdf
(This is a revision of a paper that appeared in the 1995 MASCOTS
conference and in the 1999 Software Practice & Experience journal.)
Thanx, Paul
prev parent reply other threads:[~2009-11-22 17:41 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-22 16:53 [PATCH tip/core/rcu 0/3] rcu: resend of grace-period stall and cleanup patches Paul E. McKenney
2009-11-22 16:53 ` [PATCH tip/core/rcu 1/3] rcu: fix grace-period-stall bug on large systems with CPU hotplug Paul E. McKenney
2009-11-23 7:01 ` [tip:core/rcu] rcu: Fix " tip-bot for Paul E. McKenney
2009-11-22 16:53 ` [PATCH tip/core/rcu 2/3] rcu: eliminate unneeded function wrapping Paul E. McKenney
2009-11-23 7:01 ` [tip:core/rcu] rcu: Eliminate " tip-bot for Paul E. McKenney
2009-11-22 16:53 ` [PATCH tip/core/rcu 3/3] rcu: re-arrange code to reduce #ifdef pain Paul E. McKenney
2009-11-23 7:02 ` [tip:core/rcu] rcu: Re-arrange " tip-bot for Paul E. McKenney
2009-11-22 17:05 ` [PATCH tip/core/rcu 0/3] rcu: resend of grace-period stall and cleanup patches Mathieu Desnoyers
2009-11-22 17:42 ` Paul E. McKenney [this message]
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=20091122174203.GE9029@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--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=mingo@elte.hu \
--cc=niv@us.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox