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