On Fri, 2012-08-24 at 13:36 +0100, Will Deacon wrote: > The open-coded mutex implementation for ARMv6+ cores suffers from a > severe lack of barriers, so in the uncontended case we don't actually > protect any accesses performed during the critical section. > > Furthermore, the code is largely a duplication of the ARMv6+ atomic_dec > code but optimised to remove a branch instruction, as the mutex fastpath > was previously inlined. Now that this is executed out-of-line, we can > reuse the atomic access code for the locking (in fact, we use the xchg > code as this produces shorter critical sections). > > This patch uses the generic xchg based implementation for mutexes on > ARMv6+, which introduces barriers to the lock/unlock operations and also > has the benefit of removing a fair amount of inline assembly code. > > Cc: <[email protected]> : 0bce9c46: mutex: Place lock in contended... > Cc: <[email protected]> > Acked-by: Arnd Bergmann <[email protected]> > Acked-by: Nicolas Pitre <[email protected]> > Reported-by: Shan Kang <[email protected]> > Signed-off-by: Will Deacon <[email protected]> > Signed-off-by: Russell King <[email protected]> > --- > > Greg, Ben: Here's a re-send of this mutex patch now that the dependency > has been merged into mainline. Although that patch also has a CC: stable, > I added an explicit dependency here too. [...]
I thought this had been deferred, but it actually already went into 3.2.27. The fix you refer to is queued up for the next 3.2 update. Ben. -- Ben Hutchings Time is nature's way of making sure that everything doesn't happen at once.
signature.asc
Description: This is a digitally signed message part
