On Mon, 24 Nov 2014, Daniel Thompson wrote:
I did want to remove the lock too. However when I reviewed this code I concluded the lock was still required. Without it I think it is possible for gic_raise_softirq() to raise an IPI on the old core *after* the code to migrate pending IPIs has been run.
And I bet it took you quite some time to figure that out from that overly documented abuse of irq_controller_lock. See my other reply.
Thanks,
tglx