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

From: Andrew Morton
Date: Tue Jul 27 2010 - 19:18:50 EST

On Mon, 26 Jul 2010 10:49:50 +0200
Michal Simek <monstr@xxxxxxxxx> 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?

> Signed-off-by: Michal Simek <monstr@xxxxxxxxx>
> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>

hm, I wonder how my signoff got there. Doesn't matter.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at