kernel_optimize_test/arch/s390
Gerald Schaefer 335d7afbfb mutexes, sched: 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>
2010-11-26 15:05:34 +01:00
..
appldata [S390] appldata: fix dev_get_stats 64 bit conversion 2010-08-13 10:06:55 +02:00
boot
crypto [S390] cleanup facility list handling 2010-10-25 16:10:21 +02:00
hypfs Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 2010-10-29 08:49:18 -07:00
include/asm mutexes, sched: Introduce arch_mutex_cpu_relax() 2010-11-26 15:05:34 +01:00
kernel BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
kvm [S390] cleanup facility list handling 2010-10-25 16:10:21 +02:00
lib
math-emu
mm [S390] fix get_user_pages_fast 2010-11-10 10:05:53 +01:00
oprofile
defconfig defconfig reduction 2010-08-14 22:26:53 +02:00
Kbuild [S390] standardize Kbuild rules 2010-10-25 16:10:14 +02:00
Kconfig mutexes, sched: Introduce arch_mutex_cpu_relax() 2010-11-26 15:05:34 +01:00
Kconfig.debug [S390] mm: add devmem_is_allowed() for STRICT_DEVMEM checking 2010-11-10 10:05:54 +01:00
Makefile [S390] Add config option for z196 code generation. 2010-10-25 16:10:15 +02:00