1
linux/arch
Gerald Schaefer 34b133f8e9 [S390] mutex: Introduce arch_mutex_cpu_relax()
The spinning mutex implementation uses cpu_relax() in busy loops as a
compiler barrier. Depending on the architecture, cpu_relax() may do more
than needed in this specific mutex spin loops. On System z we also give
up the time slice of the virtual cpu in cpu_relax(), which prevents
effective spinning on the mutex.

This patch replaces cpu_relax() in the spinning mutex code with
arch_mutex_cpu_relax(), which can be defined by each architecture that
selects HAVE_ARCH_MUTEX_CPU_RELAX. The default is still cpu_relax(), so
this patch should not affect other architectures than System z for now.

Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <1290437256.7455.4.camel@thinkpad>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2011-01-05 12:47:31 +01:00
..
alpha
arm Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 2011-01-03 22:55:21 +00:00
avr32
blackfin
cris
frv
h8300
ia64
m32r
m68k
m68knommu
microblaze
mips MIPS: Fix build errors in sc-mips.c 2010-12-17 19:44:35 +00:00
mn10300 arch/mn10300/kernel/irq.c: fix build 2011-01-03 16:36:33 -08:00
parisc parisc: convert the rest of the irq handlers to simple/percpu 2010-12-04 11:15:19 -05:00
powerpc powerpc/mpc5200: include fs.h in mpc52xx_gpt.c 2010-12-23 12:08:02 -07:00
s390 [S390] mutex: Introduce arch_mutex_cpu_relax() 2011-01-05 12:47:31 +01:00
score
sh sh: Fix up SH7201 clkfwk build. 2010-12-24 12:15:57 +09:00
sparc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2010-12-14 17:34:00 -08:00
tile arch/tile: handle rt_sigreturn() more cleanly 2010-12-17 16:59:29 -05:00
um
x86 arch/x86/oprofile/op_model_amd.c: Perform initialisation on a single CPU 2011-01-03 13:01:40 +01:00
xtensa
.gitignore
Kconfig [S390] mutex: Introduce arch_mutex_cpu_relax() 2011-01-05 12:47:31 +01:00