On Sun, 2015-02-22 at 23:13 +0100, Frederic Weisbecker wrote:
Yes that should work. After all "self-IPI" is an oxymoron. One would
expect an IPI to be triggered by an irq controller but if such
operation isn't supported with the current CPU being both source and
destination, anything triggering the desired callback in an interrupt
context in a reasonable amount of time ahead does the job here.
We could do self-IPI on platforms that have an SMP-capable interrupt
controller too but it would probably have higher overhead and would
require verifying that the code for each of our different interrupt
controllers is safe to be called from NMIs (hint: ioremap space isn't
safe to access from NMIs for us on some CPU families...).
We might be able to do better than using the decrementer on some CPUs by
using local doorbells, but for now this will do.
I thought well that's what powerpc was doing for irq work but I wasn't
sure I understood the code correctly. I should have pinged people
about that, sorry.
No worries,
Cheers,
Ben.