On 08/17/14 17:17, Nicolas Pitre wrote:
On Sun, 17 Aug 2014, Russell King - ARM Linux wrote:
quoted
I have no problem with changing gic_raise_softirq() to use a different
lock, which gic_migrate_target(), and gic_set_affinity() can also use.
There's no need for horrid locking here, because the only thing we're
protecting is gic_map[] and the write to the register to trigger an
IPI - and nothing using gic_arch_extn has any business knowing about
SGIs.
No need for these crappy sgi_map_lock() macros and all the ifdeffery.
Those macros are there only to conditionalize the locking in
gic_raise_softirq() because no locking what so ever is needed there when
gic_migrate_target() is configured out. I suggested the macros to cut
down on the #ifdefery in the code.
Ok I can resend with the sgi lock around the gic_cpu_map updating code.
Let's see how v5 goes.
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation