Re: preemptirqsoff tracer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Apr 4, 2017 at 6:27 AM, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> On Tue, 4 Apr 2017 01:27:25 -0700
> Joel Fernandes <joelaf@xxxxxxxxxx> wrote:
>
>> Hi Steven,
>>
>> Just looking at code of the preemptirqsoff tracer, I wonder if it is
>> really working as expected.
>>
>> With the tracer enabled, start_critical_timing will be called only if
>> _both_ preemption and IRQs are turned off. Instead shouldn't this be
>> an OR condition (either preemption or IRQs are turned off)?
>
> What code are you looking at. From what I have:

Mainline.

>
> void start_critical_timings(void)
> {
>         if (preempt_trace() || irq_trace())
>                 start_critical_timing(CALLER_ADDR0, CALLER_ADDR1);
> }

This is called from the idle path though.

>
> There's an OR statement.

Actually in trace_preempt_off, its an AND condition but the
irq_trace() is negated so it works correctly (too many double
negatives so I missed that, sorry!).

if (preempt_trace() && !irq_trace) ...

and likewise in trace_hardirqs_on, its:

if (!preempt_trace() && irq_trace())

So its all good :-)
Regards,
Joel
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux