From: "Paul E. McKenney" <paulmck@kernel.org>
To: Qais Yousef <qais.yousef@arm.com>
Cc: Davidlohr Bueso <dave@stgolabs.net>,
Josh Triplett <josh@joshtriplett.org>,
linux-kernel@vger.kernel.org
Subject: Re: Hit WARN_ON() in rcutorture.c:1055
Date: Mon, 23 Mar 2020 10:17:51 -0700 [thread overview]
Message-ID: <20200323171751.GL3199@paulmck-ThinkPad-P72> (raw)
In-Reply-To: <20200323170609.w64xrfahd2snfz6h@e107158-lin.cambridge.arm.com>
On Mon, Mar 23, 2020 at 05:06:10PM +0000, Qais Yousef wrote:
> On 03/23/20 08:57, Paul E. McKenney wrote:
> > On Mon, Mar 23, 2020 at 03:43:09PM +0000, Qais Yousef wrote:
> > > Hi
> > >
> > > I hit the following warning while running rcutorture tests. It only happens
> > > when I try to hibernate the system (arm64 Juno-r2).
> >
> > Hibernating the system during rcutorture tests. Now that is gutsy! ;-)
>
> Hehe was just a side effect of testing the cpu hotplug stuff :-)
>
> >
> > > Let me know if you need additional info.
> >
> > 1. Do you need this to work? If so, please tell me your use case.
>
> Nope. It just happened while trying to stress the cpu hotplug series I just
> posted.
>
> > 2. What is line 1055 of your rcutorture.c? Here is my guess:
>
> It's 5.6-rc6, sorry should have mentioned in the report.
>
> /* Cycle through nesting levels of rcu_expedite_gp() calls. */
> if (can_expedite &&
> !(torture_random(&rand) & 0xff & (!!expediting - 1))) {
> WARN_ON_ONCE(expediting == 0 && rcu_gp_is_expedited());
> if (expediting >= 0)
> rcu_expedite_gp();
> else
> rcu_unexpedite_gp();
> if (++expediting > 3)
> expediting = -expediting;
> } else if (!can_expedite) { /* Disabled during boot, recheck. */
>
> If it's something you don't care about, then I don't care about too. I just
> thought I'd report it in case it uncovered something worthwhile.
Well, my guess was wrong. ;-)
This is instead rcutorture being surprised by the fact that RCU grace
periods are expedited during the hibernate process. I could fix this
particular situation, but I bet that there are a number of others,
including my guess above.
One approach would be to halt rcutorture testing just before hibernating
and restart it just after resuming.
Thoughts?
Thanx, Paul
next prev parent reply other threads:[~2020-03-23 17:17 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-23 15:43 Hit WARN_ON() in rcutorture.c:1055 Qais Yousef
2020-03-23 15:57 ` Paul E. McKenney
2020-03-23 17:06 ` Qais Yousef
2020-03-23 17:17 ` Paul E. McKenney [this message]
2020-03-23 17:41 ` Qais Yousef
2020-03-23 18:10 ` Paul E. McKenney
2020-03-23 18:23 ` Qais Yousef
2020-03-23 18:44 ` Paul E. McKenney
2020-03-24 11:39 ` Qais Yousef
2020-03-24 13:00 ` 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=20200323171751.GL3199@paulmck-ThinkPad-P72 \
--to=paulmck@kernel.org \
--cc=dave@stgolabs.net \
--cc=josh@joshtriplett.org \
--cc=linux-kernel@vger.kernel.org \
--cc=qais.yousef@arm.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