android_kernel_xiaomi_sdm845/arch/s390
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
..
appldata [S390] appldata: fix dev_get_stats 64 bit conversion 2010-08-13 10:06:55 +02:00
boot [S390] Add support for LZO-compressed kernels. 2010-05-26 23:27:10 +02:00
crypto [S390] cleanup facility list handling 2010-10-25 16:10:21 +02:00
hypfs [S390] hypfs: Move buffer allocation from open to read 2011-01-05 12:47:27 +01:00
include/asm [S390] mutex: Introduce arch_mutex_cpu_relax() 2011-01-05 12:47:31 +01:00
kernel [S390] cleanup ftrace backend functions 2011-01-05 12:47:31 +01:00
kvm [S390] cleanup s390 Kconfig 2011-01-05 12:47:23 +01:00
lib [S390] time: let local_tick_enable/disable() reprogram the clock comparator 2011-01-05 12:47:25 +01:00
math-emu tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
mm [S390] ptrace cleanup 2011-01-05 12:47:31 +01:00
oprofile Combine instrumentation menus in kernel/Kconfig.instrumentation 2007-10-19 11:53:54 -07:00
defconfig [S390] cleanup s390 Kconfig 2011-01-05 12:47:23 +01:00
Kbuild [S390] standardize Kbuild rules 2010-10-25 16:10:14 +02:00
Kconfig [S390] mutex: Introduce arch_mutex_cpu_relax() 2011-01-05 12:47:31 +01:00
Kconfig.debug [S390] cleanup s390 Kconfig 2011-01-05 12:47:23 +01:00
Makefile [S390] Add config option for z196 code generation. 2010-10-25 16:10:15 +02:00