From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Dave Jones <davej@redhat.com>,
Linux Kernel <linux-kernel@vger.kernel.org>,
htejun@gmail.com, oleg@redhat.com
Subject: Re: rcu_preempt detected stalls.
Date: Thu, 23 Oct 2014 13:44:18 -0700 [thread overview]
Message-ID: <20141023204418.GG4977@linux.vnet.ibm.com> (raw)
In-Reply-To: <20141023202816.GA17561@redhat.com>
On Thu, Oct 23, 2014 at 04:28:16PM -0400, Dave Jones wrote:
> On Thu, Oct 23, 2014 at 12:52:21PM -0700, Paul E. McKenney wrote:
> > On Thu, Oct 23, 2014 at 03:37:59PM -0400, Dave Jones wrote:
> > > On Thu, Oct 23, 2014 at 12:28:07PM -0700, Paul E. McKenney wrote:
> > >
> > > > > > This one will require more looking. But did you do something like
> > > > > > create a pair of mutually recursive symlinks or something? ;-)
> > > > >
> > > > > I'm not 100% sure, but this may have been on a box that I was running
> > > > > tests on NFS. So maybe the server had disappeared with the mount
> > > > > still active..
> > > > >
> > > > > Just a guess tbh.
> > > >
> > > > Another possibility might be that the box was so overloaded that tasks
> > > > were getting preempted for 21 seconds as a matter of course, and sometimes
> > > > within RCU read-side critical sections. Or did the box have ample idle
> > > > time?
> > >
> > > I fairly recently upped the number of child processes I typically run
> > > with, so it being overloaded does sound highly likely.
> >
> > Ah, that could do it! One way to test extreme loads and not trigger
> > RCU CPU stall warnings might be to make all of your child processes all
> > sleep during a given interval of a few hundred milliseconds during each
> > ten-second interval. Would that work for you?
>
> This feels like hiding from the problem rather than fixing it.
> I'm not sure it even makes sense to add sleeps to the fuzzer, other than
> to slow things down, and if I were to do that, I may as well just run
> it with fewer threads instead.
I was thinking of the RCU CPU stall warnings that were strictly due to
overload as being false positives. If trinity caused a kthread to loop
within an RCU read-side critical section, you would still get the RCU
CPU stall warning even with the sleeps.
But just a suggestion, no strong feelings. Might change if there is an
excess of false-positive RCU CPU stall warnings, of course. ;-)
> While the fuzzer is doing pretty crazy stuff, what's different about it
> from any other application that overcommits the CPU with too many threads?
The (presumably) much higher probability of being preempted in the kernel,
and thus within an RCU read-side critical section.
> We impose rlimits to stop people from forkbombing and the like, but this
> doesn't even need that many processes to trigger, and with some effort
> could probably done with even fewer if I found ways to keep other cores
> busy in the kernel for long enough.
>
> That all said, I don't have easy reproducers for this right now, due
> to other bugs manifesting long before this gets to be a problem.
Fair enough! ;-)
Thanx, Paul
next prev parent reply other threads:[~2014-10-23 20:48 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-13 17:35 Dave Jones
2014-10-15 2:35 ` Sasha Levin
2014-10-23 18:39 ` Paul E. McKenney
2014-10-23 18:55 ` Sasha Levin
2014-10-23 19:58 ` Paul E. McKenney
2014-10-24 12:28 ` Sasha Levin
2014-10-24 16:13 ` Paul E. McKenney
2014-10-24 16:39 ` Sasha Levin
2014-10-27 21:13 ` Paul E. McKenney
2014-10-27 23:44 ` Paul E. McKenney
2014-11-13 23:07 ` Paul E. McKenney
2014-11-13 23:10 ` Sasha Levin
2014-10-30 23:41 ` Sasha Levin
2014-10-23 18:32 ` Paul E. McKenney
2014-10-23 18:40 ` Dave Jones
2014-10-23 19:28 ` Paul E. McKenney
2014-10-23 19:37 ` Dave Jones
2014-10-23 19:52 ` Paul E. McKenney
2014-10-23 20:28 ` Dave Jones
2014-10-23 20:44 ` Paul E. McKenney [this message]
2014-10-23 19:13 ` Oleg Nesterov
2014-10-23 19:38 ` Paul E. McKenney
2014-10-23 19:53 ` Oleg Nesterov
2014-10-23 20:24 ` Paul E. McKenney
2014-10-23 21:13 ` Oleg Nesterov
2014-10-23 21:38 ` Paul E. McKenney
2014-10-25 3:16 ` Dâniel Fraga
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=20141023204418.GG4977@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=davej@redhat.com \
--cc=htejun@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=oleg@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
Powered by JetHome