Re: [PATCH] asm-generic: Use raw_local_irq_save/restore instead local_irq_save/restore

Mike Frysinger
2010-07-27T23:54:36Z

On Tue, Jul 27, 2010 at 19:18, Andrew Morton wrote:
> On Mon, 26 Jul 2010 10:49:50 +0200 Michal Simek wrote:
>> start/stop_critical_timing function for preemptirqsoff, preemptoff
>> and irqsoff tracers contains atomic_inc and atomic_dec operations.
>>
>> Atomic operations used local_irq_save/restore macros to ensure
>> atomic access but they are traced by the same function which is causing
>> recursion problem.
>>
>> The reason is when these tracers are turn ON then local_irq_save/restore
>> macros are changed in include/linux/irqflags.h to call trace_hardirqs_on/off
>> which call start/stop_critical_timing.
>>
>> Microblaze was affected because use generic atomic implementation.
>
> Seems that this will also affect blackfin, mn10300 and score.  I guess
> they aren't supporting tracing yet?

do you mean TRACE_IRQFLAGS_SUPPORT ? Blackfin should ... my
understanding was that arches just needed to implement asm/irqflags.h
for it.
-mike