Re: [PATCH 2/2] x86/tbl/trace: Do not trace on CPU that is offline

Paul E. McKenney
2015-02-07T22:14:13Z

On Sat, Feb 07, 2015 at 04:52:05PM -0500, Steven Rostedt wrote:
> On Sat, 7 Feb 2015 12:09:48 -0800
> "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> wrote:
>
> > The tag sequence has the meaning of:
> > git cherry-pick a1f84a3
> > git cherry-pick 1b9508f
> > git cherry-pick fd21073
> > git cherry-pick <this commit>
> >
> > Does that do what you need?
>
> Note, for this case it really doesn't apply, because one patch does not
> depend on the other.
>
> The real bug is that a tracepoint can be called when RCU is not
> watching (cpu is offline). That bug was introduced in 3.17 and is fixed
> by patch 2 with the conditional trace event.
>
> When that bug was fixed, it showed that another bug exists. That is
> that lockdep should not complain if the conditional prevents the bad
> RCU from happening, and this bug was introduced in 3.18. This was fixed
> by the first patch.
>
> They really are two entirely separate bugs, it just happens that the
> test case Sedat had happened to trigger both of them. This is why I
> really don't see why the two need to reference each other.
>
> I'm also going to modify patch 1 to not mention porting the other
> commit (that patch 1 fixes) to 3.17 (from 3.18), as that other commit is
> just a debugging tool and not something that satisfies being
> backported, and the patch that fixes it shouldn't be backported to 3.17
> either, only to 3.18.

Thank you for the explanation! I guess I needed to have kept a scorecard
on this one. ;-)

Thanx, Paul