Re: [PATCH] rcu/torture: Change order of warning and trace dump
From: Anna-Maria Behnsen
Date: Tue Apr 19 2022 - 02:53:44 EST
On Tue, 12 Apr 2022, Paul E. McKenney wrote:
> On Mon, Apr 11, 2022 at 11:09:15AM -0700, Paul E. McKenney wrote:
> > On Mon, Apr 11, 2022 at 05:19:03PM +0200, Anna-Maria Behnsen wrote:
> > > Dumping a big ftrace buffer could lead to a RCU stall. So there is the
> > > ftrace buffer and the stall information which needs to be printed. When
> > > there is additionaly a WARN_ON() which describes the reason for the ftrace
> > > buffer dump and the WARN_ON() is executed _after_ ftrace buffer dump, the
> > > information get lost in the middle of the RCU stall information.
> > >
> > > Therefore print WARN_ON() message before dumping the ftrace buffer in
> > > rcu_torture_writer().
> > >
> > > Signed-off-by: Anna-Maria Behnsen <anna-maria@xxxxxxxxxxxxx>
> > > Reviewed-by: Benedikt Spranger <b.spranger@xxxxxxxxxxxxx>
> >
> > Hello, Anna-Maria!
> >
> > Good point, but we get caught out either way. Either we take the chance
> > of losing the WARN() message as you say, or we take the chance of the
> > activity in the WARN() message overwriting needed information in the
> > trace buffer.
> >
> > Would it work to shut off tracing, do the WARN(), and only then do the
> > rcu_ftrace_dump()?
>
> And presumably you are looking at this because your testing is
> triggering it. This WARN() assumes that the system running rcutorture
> is otherwise idle. If you are (say) running kernel builds while also
> running rcutorture, then this WARN() is expected behavior. So if you need
> this sort of testing, we need do something like adding another rcutorture
> module parameter (background_load?) that suppresses this warning.
>
I ran into this while testing with rcutorture kvm script. And I was the
only one working on the machine. So I do not need a parameter right
now. I'll come back to you when my testing requirements will change :)
Thanks,
Anna-Maria