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

Andrew Morton
2010-07-27T23:18:42Z

On Mon, 26 Jul 2010 10:49:50 +0200
Michal Simek <monstr@monstr.eu> 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@monstr.eu>
> Acked-by: Steven Rostedt <rostedt@goodmis.org>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

hm, I wonder how my signoff got there. Doesn't matter.