On 25/11/14 20:17, Nicolas Pitre wrote:
On Tue, 25 Nov 2014, Marc Zyngier wrote:Well remembered! That patch had a different motivation but is very
Hi Daniel,For the record, I reviewed and ACKed a patch doing exactly that a while
On 25/11/14 17:26, Daniel Thompson wrote:
irq_controller_lock is used for multiple purposes within the gic driver.While we're at it, how about an additional patch that would make this
Primarily it is used to make register read-modify-write sequences atomic.
It is also used by gic_raise_softirq() in order that the big.LITTLE
migration logic can figure out when it is safe to migrate interrupts
between physical cores.
The second usage of irq_controller_lock is difficult to discern when
reviewing the code because the migration itself takes place outside
the lock.
This patch makes the second usage more explicit by splitting it out into
a separate lock and providing better comments.
lock disappear entirely when the big-little stuff is not compiled in,
which is likely to be the case on a lot of (dare I say most?) systems?
That will save expensive barriers that we definitely could do without.
ago:
http://lkml.org/lkml/2014/8/13/486
similar to mine... so much so I might steal bit of it.
I'll make sure I put Stephen on Cc: when I respin with the changes Marc
requested.