]> git.baikalelectronics.ru Git - kernel.git/commit
s390/topology: alternative topology for topology-less machines
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Tue, 19 Sep 2017 10:52:22 +0000 (12:52 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 20 Sep 2017 11:47:54 +0000 (13:47 +0200)
commitb40ef06768ebe58c9327330c13245bf1c89698e2
tree1a4832e32bc9cb33e9a8e807a47b3045c7f1e3ca
parente1b9272dddc138c1892067b62c123d53a40e5078
s390/topology: alternative topology for topology-less machines

If running on machines that do not provide topology information we
currently generate a "fake" topology which defines the maximum
distance between each cpu: each cpu will be put into an own drawer.

Historically this used to be the best option for (virtual) machines in
overcommited hypervisors.

For some workloads however it is better to generate a different
topology where all cpus are siblings within a package (all cpus are
core siblings). This shows performance improvements of up to 10%,
depending on the workload.

In order to keep the current behaviour, but also allow to switch to
the different core sibling topology use the existing "topology="
kernel parameter:

Specifying "topology=on" on machines without topology information will
generate the core siblings (fake) topology information, instead of the
default topology information where all cpus have the maximum distance.

On machines which provide topology information specifying
"topology=on" does not have any effect.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/kernel/early.c
arch/s390/kernel/topology.c