linux/arch/s390/kernel
Heiko Carstens 4d92f50249 s390: reintroduce diag 44 calls for cpu_relax()
Christian Borntraeger reported that the now missing diag 44 calls (voluntary
time slice end) does cause a performance regression for stop_machine() calls
if a machine has more virtual cpus than the host has physical cpus.

This patch mainly reverts 57f2ffe14f ("s390: remove diag 44 calls from
cpu_relax()") with the exception that we still do not issue diag 44 calls if
running with smt enabled. Due to group scheduling algorithms when running in
LPAR this would lead to significant latencies.
However, when running in LPAR we do not have more virtual than physical cpus.

Reported-and-tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2015-01-29 09:19:16 +01:00
..
vdso32 s390/vdso: fix stack corruption 2014-10-27 13:27:02 +01:00
vdso64 s390/vdso: fix stack corruption 2014-10-27 13:27:02 +01:00
.gitignore s390: add various .gitignore files. 2012-05-16 14:42:41 +02:00
Makefile s390/ftrace: remove 31 bit ftrace support 2014-10-09 09:14:18 +02:00
asm-offsets.c s390/cmpxchg: use compiler builtins 2014-11-03 13:29:47 +01:00
audit.c
audit.h
base.S s390: add SMT support 2015-01-22 12:16:01 +01:00
cache.c s390: move cacheinfo sysfs to generic cacheinfo infrastructure 2015-01-08 10:02:54 +01:00
compat_audit.c
compat_linux.c groups: Consolidate the setgroups permission checks 2014-12-05 17:19:27 -06:00
compat_linux.h s390: add support for vector extension 2014-10-09 09:14:13 +02:00
compat_ptrace.h [S390] ptrace cleanup 2011-01-05 12:47:31 +01:00
compat_signal.c s390/signal: add sparse annotations 2014-11-03 13:30:36 +01:00
compat_wrapper.c s390/kernel: add system calls for PCI memory access 2014-11-19 09:46:43 +01:00
cpcmd.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
crash_dump.c s390/kdump: add support for vector extension 2014-10-09 09:14:16 +02:00
debug.c s390/debug: avoid function call for debug_sprintf_* 2014-12-08 09:42:29 +01:00
diag.c [S390] replace diag10() with diag10_range() function 2011-05-10 17:13:43 +02:00
dis.c s390: add SMT support 2015-01-22 12:16:01 +01:00
dumpstack.c s390/traps: print interrupt code and instruction length code 2014-11-21 08:49:30 +01:00
early.c s390/spinlock: add compare-and-delay to lock wait loops 2015-01-23 15:17:04 +01:00
ebcdic.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
entry.S s390: use local symbol names in entry[64].S 2014-12-08 09:42:38 +01:00
entry.h s390/signal: add sys_sigreturn and sys_rt_sigreturn declarations 2015-01-08 10:02:49 +01:00
entry64.S s390: use local symbol names in entry[64].S 2014-12-08 09:42:38 +01:00
ftrace.c s390/ftrace: add code replacement sanity checks 2015-01-08 10:02:46 +01:00
head.S s390: add z13 code generation support 2015-01-22 12:15:57 +01:00
head31.S s390/mm: Convert bootmem to memblock 2014-05-20 08:58:40 +02:00
head64.S s390: fix kernel crash due to linkage stack instructions 2014-02-05 11:00:50 +01:00
head_kdump.S s390/kdump: Use 64 bit mode for 0x10000 entry point 2012-10-18 17:50:09 +02:00
idle.c s390/idle: convert open coded idle time seqcount 2014-12-08 09:42:32 +01:00
ipl.c s390: add SMT support 2015-01-22 12:16:01 +01:00
irq.c s390/irq: use irq 0 2014-11-18 18:23:03 +01:00
jump_label.c s390/jump-label: add arch_jump_label_transform_static() 2011-10-25 11:54:37 -07:00
kprobes.c s390/kprobes: fix instruction copy for out of line execution 2014-12-01 11:07:44 +01:00
lgr.c s390/sysinfo,stsi: change return code handling 2012-09-26 15:45:12 +02:00
machine_kexec.c s390: add SMT support 2015-01-22 12:16:01 +01:00
mcount.S s390/ftrace,kprobes: allow to patch first instruction 2014-10-27 13:27:27 +01:00
module.c mm/arch: use NUMA_NO_NODE 2013-11-13 12:09:05 +09:00
nmi.c s390: fix machine check handling 2014-12-01 11:06:55 +01:00
os_info.c Include missing linux/slab.h inclusions 2013-04-29 15:42:01 -04:00
perf_cpum_cf.c s390: Replace __get_cpu_var uses 2014-08-26 13:45:52 -04:00
perf_cpum_cf_events.c s390/cpum_cf: Export event names in sysfs 2013-12-16 14:37:50 +01:00
perf_cpum_sf.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2014-12-11 17:30:55 -08:00
perf_event.c s390/perf: make print_debug_cf() static 2014-03-14 12:59:32 +01:00
pgm_check.S s390: add support for vector extension 2014-10-09 09:14:13 +02:00
process.c s390: avoid z13 cache aliasing 2015-01-22 12:15:59 +01:00
processor.c s390: reintroduce diag 44 calls for cpu_relax() 2015-01-29 09:19:16 +01:00
ptrace.c s390/ptrace: always include vector registers in core files 2014-12-08 09:42:37 +01:00
reipl.S s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
reipl64.S s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
relocate_kernel.S s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
relocate_kernel64.S s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
runtime_instr.c s390/irq: Use defines for external interruption codes 2014-04-03 14:30:52 +02:00
s390_ksyms.c s390: use IS_ENABLED to check if a CONFIG is set to y or m 2013-12-16 14:38:04 +01:00
sclp.S s390/sclp: sign extend return value of _sclp_print_early() 2015-01-08 10:02:52 +01:00
setup.c s390: add z13 code generation support 2015-01-22 12:15:57 +01:00
signal.c s390/signal: add sparse annotations 2014-11-03 13:30:36 +01:00
smp.c s390/smp: remove check for CONFIG_ZFCPDUMP 2015-01-22 12:16:06 +01:00
stacktrace.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
suspend.c nosave: consolidate __nosave_{begin,end} in <asm/sections.h> 2014-10-09 22:26:04 -04:00
swsusp_asm64.S s390/hibernate: add early resume function 2013-08-30 08:57:15 +02:00
sys_s390.c teach SYSCALL_DEFINE<n> how to deal with long long/unsigned long long 2013-03-03 22:46:22 -05:00
syscalls.S s390: wire up execveat syscall 2014-12-18 13:37:17 +01:00
sysinfo.c s390: add SMT support 2015-01-22 12:16:01 +01:00
time.c s390/kprobes: make use of NOKPROBE_SYMBOL() 2014-10-27 13:27:28 +01:00
topology.c s390: add SMT support 2015-01-22 12:16:01 +01:00
traps.c s390/traps: die on translation exceptions 2014-11-21 08:49:33 +01:00
uprobes.c s390/uprobes: fix kprobes dependency 2014-10-17 14:45:51 +02:00
vdso.c arm64,ia64,ppc,s390,sh,tile,um,x86,mm: remove default gate area 2014-08-08 15:57:27 -07:00
vmlinux.lds.S s390/linker skript: discard exit.data at runtime 2013-02-14 15:55:21 +01:00
vtime.c s390: add SMT support 2015-01-22 12:16:01 +01:00