kernel-ark/arch/s390/kernel
Heiko Carstens c10fde0d9e [S390] Vertical cpu management.
If vertical cpu polarization is active then the hypervisor will
dispatch certain cpus for a longer time than other cpus for maximum
performance. For example if a guest would have three virtual cpus,
each of them with a share of 33 percent, then in case of vertical
cpu polarization all of the processing time would be combined to a
single cpu which would run all the time, while the other two cpus
would get nearly no cpu time.

There are three different types of vertical cpus: high, medium and
low. Low cpus hardly get any real cpu time, while high cpus get a
full real cpu. Medium cpus get something in between.

In order to switch between the two possible modes (default is
horizontal) a 0 for horizontal polarization or a 1 for vertical
polarization must be written to the dispatching sysfs attribute:

/sys/devices/system/cpu/dispatching

The polarization of each single cpu can be figured out by the
polarization sysfs attribute of each cpu:

/sys/devices/system/cpu/cpuX/polarization

horizontal, vertical:high, vertical:medium, vertical:low or unknown.

When switching polarization the polarization attribute may contain
the value unknown until the configuration change is done and the
kernel has figured out the new polarization of each cpu.

Note that running a system with different types of vertical cpus may
result in significant performance regressions. If possible only one
type of vertical cpus should be used. All other cpus should be
offlined.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
2008-04-17 07:47:01 +02:00
..
asm-offsets.c rename thread_info to stack 2007-05-09 12:30:56 -07:00
audit.c [S390] Get rid of a bunch of sparse warnings again. 2007-10-12 16:13:06 +02:00
audit.h [S390] Get rid of a bunch of sparse warnings again. 2007-10-12 16:13:06 +02:00
base.S
binfmt_elf32.c [S390] dynamic page tables. 2008-02-09 18:24:41 +01:00
bitmap.S
compat_audit.c [S390] Get rid of a bunch of sparse warnings again. 2007-10-12 16:13:06 +02:00
compat_exec_domain.c
compat_linux.c remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
compat_linux.h
compat_ptrace.h
compat_signal.c [S390] Protect against sigaltstack wraparound. 2008-04-17 07:46:56 +02:00
compat_wrapper.S [S390] Wire up new timerfd syscalls. 2008-02-09 18:24:37 +01:00
cpcmd.c [S390] cpcmd: fix inline assembly usage. 2007-10-12 16:13:09 +02:00
crash.c
debug.c [S390] arch/s390/kernel/debug.c: use mutex instead of semaphore 2007-05-31 17:38:11 +02:00
diag.c [S390] vmur: fix diag14 exceptions with addresses > 2GB. 2007-08-22 13:51:47 +02:00
dis.c [S390] disassembler: Remove redundant variable assignment 2007-10-12 16:13:06 +02:00
early.c [S390] incorrect reipl nss name. 2008-03-05 12:37:20 +01:00
ebcdic.c
entry64.S [S390] Fix couple of section mismatches. 2008-02-05 16:50:56 +01:00
entry.S [S390] Fix couple of section mismatches. 2008-02-05 16:50:56 +01:00
head31.S [S390] Fixed handling of access register mode faults. 2007-03-05 23:35:54 +01:00
head64.S [S390] Fix tlb flushing with idte. 2008-01-26 14:11:10 +01:00
head.S [S390] Get rid of new section mismatch warnings. 2007-07-27 12:29:18 +02:00
init_task.c Remove fs.h from mm.h 2007-07-29 17:09:29 -07:00
ipl.c [S390] Load disabled wait psw if reipl fails. 2008-03-05 12:37:19 +01:00
irq.c [SOFTIRQ]: Remove do_softirq() symbol export. 2007-10-10 16:48:36 -07:00
kprobes.c kprobes: support kretprobe blacklist 2007-10-16 09:43:10 -07:00
machine_kexec.c [S390] nss: disable kexec. 2007-03-05 23:35:45 +01:00
Makefile [S390] cpu topology support for s390. 2008-04-17 07:47:01 +02:00
module.c [S390] Use generic bug. 2007-04-27 16:01:42 +02:00
process.c [S390] idle: Fix machine check handling in idle loop. 2008-03-05 12:37:17 +01:00
ptrace.c [S390] single-step cleanup 2008-01-26 14:11:27 +01:00
reipl64.S [S390] reipl: move dump_prefix_page out of text section. 2007-03-05 23:35:43 +01:00
reipl.S [S390] reipl: move dump_prefix_page out of text section. 2007-03-05 23:35:43 +01:00
relocate_kernel64.S
relocate_kernel.S
s390_ext.c
s390_ksyms.c [S390] vmur: fix diag14 exceptions with addresses > 2GB. 2007-08-22 13:51:47 +02:00
semaphore.c
setup.c [S390] cpu topology support for s390. 2008-04-17 07:47:01 +02:00
signal.c [S390] Protect against sigaltstack wraparound. 2008-04-17 07:46:56 +02:00
smp.c [S390] Vertical cpu management. 2008-04-17 07:47:01 +02:00
stacktrace.c [S390] latencytop s390 support. 2008-02-05 16:50:59 +01:00
sys_s390.c remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
syscalls.S [S390] Wire up new timerfd syscalls. 2008-02-09 18:24:37 +01:00
time.c [S390] idle: Fix machine check handling in idle loop. 2008-03-05 12:37:17 +01:00
topology.c [S390] Vertical cpu management. 2008-04-17 07:47:01 +02:00
traps.c [S390] dynamic page tables. 2008-02-09 18:24:41 +01:00
vmlinux.lds.S [S390] Fix linker script. 2008-02-05 16:50:55 +01:00
vtime.c sched: restore deterministic CPU accounting on powerpc 2007-11-09 22:39:38 +01:00