From: Peter Zijlstra on
On Sat, 2010-05-01 at 11:55 +1200, Michael Cree wrote:
> +/* I wonder what this is for ??? */
> +void set_perf_event_pending(void)
> +{
> +}

If the PMU Interrupt comes in as an NMI we cannot take locks and such
from its handler. So what we do is queue that work to be ran later. The
kernel has a fallback to run this stuff from the timer hardirq, but if
the PMI is IRQ context (like ARM) you can simply call
perf_event_do_pending() at its tail.

Alternatively you can self-IPI like x86 does and run
perf_event_do_pending() from there.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/