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

From: Mike Frysinger
Date: Tue Jul 27 2010 - 19:54:39 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/