[PATCH] powerpc: Add irqtrace support for 32-bit powerpc (v2)

Kumar Gala galak at kernel.crashing.org
Fri Jun 19 17:46:48 EST 2009


On Jun 17, 2009, at 10:43 PM, Benjamin Herrenschmidt wrote:

> Based on initial work from: Dale Farnsworth <dale at farnsworth.org>
>
> Add the low level irq tracing hooks for 32-bit powerpc needed
> to enable full lockdep functionality.
>
> The approach taken to deal with the code in entry_32.S is that
> we don't trace all the transitions of MSR:EE when we just turn
> it off to peek at TI_FLAGS without races. Only when we are
> calling into C code or returning from exceptions with a state
> that have changed from what lockdep thinks.
>
> There's a little bugger though: If we take an exception that
> keeps interrupts enabled (such as an alignment exception) while
> interrupts are enabled, we will call trace_hardirqs_on() on the
> way back spurriously. Not a big deal, but to get rid of it would
> require remembering in pt_regs that the exception was one of the
> type that kept interrupts enabled which we don't know at this
> stage. (Well, we could test all cases for regs->trap but that
> sucks too much).
>
> Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
> ---
>
> This one fixes a bug, trace_hardirqs_on was too late in the
> restore: code path and would clobber things. This boots fine
> now on a PowerBook.

Tested-by: Kumar Gala <galak at kernel.crashing.org>

on SMP e500 based system (8572)

- k



More information about the Linuxppc-dev mailing list