Re: [RCU] rcu_tasks_trace_qs(): trc_reader_special.b.need_qs value incorrect likely()?

From: Paul E. McKenney
Date: Tue Dec 05 2023 - 17:01:15 EST


On Tue, Dec 05, 2023 at 03:59:27PM -0500, Steven Rostedt wrote:
> On Sat, 2 Dec 2023 18:45:07 -0500
> Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
> > On Sat, 2 Dec 2023 14:24:26 -0800
> > "Paul E. McKenney" <paulmck@xxxxxxxxxx> wrote:
> >
> > > > Note, the unlikely tracing is running on my production server v6.6.3.
> > > >
> > > > The above trace is from my test box with latest Linus's tree.
> > >
> > > Nice tool!!!
> >
> > Thanks! It's only been in the kernel since 2008 ;-)
> >
> > 1f0d69a9fc815 ("tracing: profile likely and unlikely annotations")
> >
> > >
> > > My kneejerk reaction is that that condition is suboptimal. Does the
> > > (untested) patch below help things?
> >
> > I'll give it a try on Monday.
> >
>
> This looks to have caused a difference. Although there's other RCU
> functions that need dealing with, but that's for when I have time to
> analyze all the places that have bad annotations.
>
>
> Anyway:
>
> correct incorrect % Function File Line
> ------- --------- - -------- ---- ----
> [..]
> 17924 0 0 rcu_softirq_qs tree.c 247
>
> Tested-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx>

Thank you very much, and I will apply this on my next rebase.

One of the disadvantages of userspace-free rcutorture testing...

Thanx, Paul