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

Sedat Dilek
2015-02-07T23:01:09Z

On Sat, Feb 7, 2015 at 11:14 PM, Paul E. McKenney
<paulmck@linux.vnet.ibm.com> wrote:
> 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. ;-)
>

My misunderstanding and thanks again for the clarification.
As Steve pointed out, /me needs both patches to fix my broken testcase.
My wish was not to forget affected (previous) linux-stable releases
when dealing with the issue.

- Sedat -