Re: [PATCH v12 3/3] tracing: Centralize preemptirq tracepoints and unify their usage

From: Joel Fernandes
Date: Tue Aug 07 2018 - 10:48:12 EST




On August 7, 2018 10:34:10 AM EDT, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>On Tue, 07 Aug 2018 10:10:59 -0400
>Joel Fernandes <joelaf@xxxxxxxxxx> wrote:
>
>> On August 7, 2018 9:49:54 AM EDT, Steven Rostedt
><rostedt@xxxxxxxxxxx> wrote:
>> >On Tue, 7 Aug 2018 06:33:35 -0700
>> >Joel Fernandes <joelaf@xxxxxxxxxx> wrote:
>> >
>> >> Thanks, also one more thing I noticed in your patch,
>> >> lockdep_hardirqs_off needs to be called before all other probes
>but
>> >> you're calling it after. This is why I registered it with INT_MAX:
>> >>
>> >> register_trace_prio_irq_disable(lockdep_hardirqs_off, NULL,
>INT_MAX);
>> >>
>> >> Without it you may get annotation warnings. Thanks,
>> >
>> >Interesting. I was following the old way where we called the tracing
>> >code before calling the lockdep code (all hard coded and not from
>> >trace events). Is this have something to do with calling the code
>from
>> >a tracepoint?
>> >
>> >Do you have an example that could trigger the warning?
>> >
>>
>> I remember the warnings but can't remember now how I triggered them.
>> I think I saw them with the irqsoff tracer or irq trace events
>> running, with lockdep turned on.
>
>I'll see if I can trigger it. I'll run this all through my tests.

Ok.

>> Also an irq disable probe that does a lockdep assert that irqs are
>> disabled could trigger it?
>>
>
>You mean if someone add a tracepoint callback to the irq disable
>tracepoint, and did a lockdep assert to make sure interrupts are
>disabled?

Yes that's what I meant.

Thanks,

- Joel

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.