lkml.org 
[lkml]   [2020]   [Mar]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Hit WARN_ON() in rcutorture.c:1055
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

\
 
 \ /
  Last update: 2020-03-23 18:20    [W:0.127 / U:0.348 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site