]> git.baikalelectronics.ru Git - kernel.git/commit
kernel/spinlock.c: add default arch_*_relax definitions for GENERIC_LOCKBREAK
authorWill Deacon <will.deacon@arm.com>
Wed, 11 Sep 2013 21:23:23 +0000 (14:23 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 11 Sep 2013 22:58:21 +0000 (15:58 -0700)
commitadf53b458f33351c930411fbf87711034e128847
tree1c6ed14664b122f57b4a75cfbad02ede7106f285
parentef0eb2937c942aa58c750f0fcad2c81f71c3dda0
kernel/spinlock.c: add default arch_*_relax definitions for GENERIC_LOCKBREAK

When running with GENERIC_LOCKBREAK=y, the locking implementations emit
calls to arch_{read,write,spin}_relax when spinning on a contended lock
in order to allow architectures to favour the CPU owning the lock if
possible.

In reality, everybody apart from PowerPC and S390 just does cpu_relax()
here, so make that the default behaviour and allow it to be overridden
if required.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
kernel/spinlock.c