From: "Paul E. McKenney" <paulmck-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
To: Nick Piggin <nickpiggin-/E1597aS9LT0CCvOHzKKcA@public.gmane.org>
Cc: Ingo Molnar <mingo-X9Un+BFzKDI@public.gmane.org>,
Linus Torvalds
<torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
Alexey Dobriyan
<adobriyan-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
"Rafael J. Wysocki" <rjw-KKrjLPT3xs0@public.gmane.org>,
Kamalesh Babulal
<kamalesh-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>,
Linux Kernel Mailing List
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Adrian Bunk <bunk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Andrew Morton
<akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
Natalie Protasevich
<protasnb-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Kernel Testers List
<kernel-testers-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: 2.6.26-rc9-git4: Reported regressions from 2.6.25
Date: Fri, 1 Aug 2008 14:09:58 -0700 [thread overview]
Message-ID: <20080801210958.GL14851@linux.vnet.ibm.com> (raw)
In-Reply-To: <200807111412.00084.nickpiggin-/E1597aS9LT0CCvOHzKKcA@public.gmane.org>
On Fri, Jul 11, 2008 at 02:11:59PM +1000, Nick Piggin wrote:
> On Friday 11 July 2008 04:06, Ingo Molnar wrote:
>
> > i'm wondering why rcutorture didnt trigger it. I do run !HOTPLUG +
> > RCU_PREEMPT kernels and never saw this. Nor did Paul. That aspect is
> > weird.
>
> It basically requires an active rcu reader to be preempted (preferably
> by something doing a lot of call_rcu or other activity ie. the writer
> so it can tick along the different states quickly).
>
> I found just 2 threads (reader and writer) bound to the same CPU would
> trigger it fastest, my reader has quite a long rcu read section.
>
> I'm not sure why rcutorture doesn't trigger for everyone. I'm surprised
> it does not have much longer maximum read delays -- several ms I would
> have thought should be useful to have a crticial section open while the
> rcu engine can run through a number of states...
Hit it in 10 seconds once I actually got HOTPLUG_CPU disabled.
The theory behind the default settings for rcutorture are as follows:
o Having two reader threads for each CPU helps ensure interactions
between those threads.
o The writer is normally going to have to share a CPU with a
reader or two, maybe three. This should force reader-writer
interactions.
o The read-hold time needs to be long enough to ensure interactions
with the writer, but if it is too long, there are too few
rcu_read_lock() and rcu_read_unlock() events to really stress
the read-side processing.
o The four fakewriters ensure interaction between multiple
writers.
To Nick's point, I did use a hacked-up rcutorture with millisecond
read-side delays when debugging preemptable RCU, but I also used stock
rcutorture.
I will give this some thought and see if the defaults should change or
if more knobs are needed.
Thanx, Paul
WARNING: multiple messages have this Message-ID (diff)
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Ingo Molnar <mingo@elte.hu>,
Linus Torvalds <torvalds@linux-foundation.org>,
Alexey Dobriyan <adobriyan@gmail.com>,
"Rafael J. Wysocki" <rjw@sisk.pl>,
Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Adrian Bunk <bunk@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Natalie Protasevich <protasnb@gmail.com>,
Kernel Testers List <kernel-testers@vger.kernel.org>
Subject: Re: 2.6.26-rc9-git4: Reported regressions from 2.6.25
Date: Fri, 1 Aug 2008 14:09:58 -0700 [thread overview]
Message-ID: <20080801210958.GL14851@linux.vnet.ibm.com> (raw)
In-Reply-To: <200807111412.00084.nickpiggin@yahoo.com.au>
On Fri, Jul 11, 2008 at 02:11:59PM +1000, Nick Piggin wrote:
> On Friday 11 July 2008 04:06, Ingo Molnar wrote:
>
> > i'm wondering why rcutorture didnt trigger it. I do run !HOTPLUG +
> > RCU_PREEMPT kernels and never saw this. Nor did Paul. That aspect is
> > weird.
>
> It basically requires an active rcu reader to be preempted (preferably
> by something doing a lot of call_rcu or other activity ie. the writer
> so it can tick along the different states quickly).
>
> I found just 2 threads (reader and writer) bound to the same CPU would
> trigger it fastest, my reader has quite a long rcu read section.
>
> I'm not sure why rcutorture doesn't trigger for everyone. I'm surprised
> it does not have much longer maximum read delays -- several ms I would
> have thought should be useful to have a crticial section open while the
> rcu engine can run through a number of states...
Hit it in 10 seconds once I actually got HOTPLUG_CPU disabled.
The theory behind the default settings for rcutorture are as follows:
o Having two reader threads for each CPU helps ensure interactions
between those threads.
o The writer is normally going to have to share a CPU with a
reader or two, maybe three. This should force reader-writer
interactions.
o The read-hold time needs to be long enough to ensure interactions
with the writer, but if it is too long, there are too few
rcu_read_lock() and rcu_read_unlock() events to really stress
the read-side processing.
o The four fakewriters ensure interaction between multiple
writers.
To Nick's point, I did use a hacked-up rcutorture with millisecond
read-side delays when debugging preemptable RCU, but I also used stock
rcutorture.
I will give this some thought and see if the defaults should change or
if more knobs are needed.
Thanx, Paul
next prev parent reply other threads:[~2008-08-01 21:09 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-08 21:37 2.6.26-rc9-git4: Reported regressions from 2.6.25 Rafael J. Wysocki
2008-07-08 21:37 ` Rafael J. Wysocki
2008-07-09 4:49 ` Randy Dunlap
2008-07-09 4:49 ` Randy Dunlap
[not found] ` <20080708214903.b783ba84.randy.dunlap-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2008-07-09 14:35 ` Rafael J. Wysocki
2008-07-09 14:35 ` Rafael J. Wysocki
[not found] ` <200807101725.36175.nickpiggin@yahoo.com.au>
[not found] ` <200807101725.36175.nickpiggin-/E1597aS9LT0CCvOHzKKcA@public.gmane.org>
2008-07-10 9:03 ` Kamalesh Babulal
2008-07-10 9:03 ` Kamalesh Babulal
2008-07-10 11:02 ` Alexey Dobriyan
2008-07-10 11:02 ` Alexey Dobriyan
[not found] ` <20080710110213.GA6688-QDJVlCTZ4KWTKS93B3g+7KFoa47nwP16@public.gmane.org>
2008-07-10 17:21 ` Linus Torvalds
2008-07-10 17:21 ` Linus Torvalds
2008-07-10 17:34 ` Ingo Molnar
[not found] ` <20080710173459.GA11648-X9Un+BFzKDI@public.gmane.org>
2008-07-10 18:06 ` Ingo Molnar
2008-07-10 18:06 ` Ingo Molnar
[not found] ` <20080710180620.GA30844-X9Un+BFzKDI@public.gmane.org>
2008-07-11 4:11 ` Nick Piggin
2008-07-11 4:11 ` Nick Piggin
[not found] ` <200807111412.00084.nickpiggin-/E1597aS9LT0CCvOHzKKcA@public.gmane.org>
2008-08-01 21:09 ` Paul E. McKenney [this message]
2008-08-01 21:09 ` Paul E. McKenney
2008-08-01 21:09 ` Paul E. McKenney
2008-08-01 21:09 ` Paul E. McKenney
[not found] ` <20080710204157.GG6877@linux.vnet.ibm.com>
[not found] ` <20080710204157.GG6877-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-08-01 21:09 ` Paul E. McKenney
2008-08-01 21:09 ` Paul E. McKenney
2008-08-01 21:09 ` Paul E. McKenney
2008-08-01 21:09 ` 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=20080801210958.GL14851@linux.vnet.ibm.com \
--to=paulmck-23vcf4htsmix0ybbhkvfkdbpr1lh4cv8@public.gmane.org \
--cc=adobriyan-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
--cc=bunk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=kamalesh-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org \
--cc=kernel-testers-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mingo-X9Un+BFzKDI@public.gmane.org \
--cc=nickpiggin-/E1597aS9LT0CCvOHzKKcA@public.gmane.org \
--cc=protasnb-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=rjw-KKrjLPT3xs0@public.gmane.org \
--cc=torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
/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.