[PATCH 0/2] s390: introduce drawer scheduling domain

From: Heiko Carstens
Date: Wed Jun 08 2016 - 05:11:39 EST


Greg, Peter,

the s390 z13 machines expose yet another topology level which would be
on top of the already existing "book" scheduling domain, which is
currently only used by s390.

Therefore I would like to introduce a new "drawer" level to the
topology sysfs code. The scheduler code itself does not need any
changes to support this, since I can introduce as many scheduling
domains as I like within architecture code. However the sysfs
representation is common code.

The first patch introduces the files

/sys/devices/system/cpu/cpuX/topology/drawer_id
/sys/devices/system/cpu/cpuX/topology/drawer_siblings
/sys/devices/system/cpu/cpuX/topology/drawer_siblings_list

if CONFIG_SCHED_DRAWER is enabled.

The second patch implements support for the new topology level on
s390. Performance measurements did show a performance increase of up
to 8%, while there don't seem to be any negative impacts.

If this is acceptable I'd like to add these patches to the s390 tree
for the next merge window.

For reference the z13 machine is described here:
www.redbooks.ibm.com/redbooks/pdfs/sg248251.pdf

Chapter 2 (or 2.2) gives a brief overview of what I'm talking about.

Heiko Carstens (2):
topology/sysfs: provide drawer id and siblings attributes
s390/topology: add drawer scheduling domain level

Documentation/cputopology.txt | 40 ++++++++++++++++++++++++++++++++--------
arch/s390/Kconfig | 4 ++++
arch/s390/include/asm/topology.h | 4 ++++
arch/s390/kernel/topology.c | 33 +++++++++++++++++++++++++++------
arch/s390/numa/mode_emu.c | 25 ++++++++++++++++++++-----
drivers/base/topology.c | 13 +++++++++++++
6 files changed, 100 insertions(+), 19 deletions(-)

--
2.6.6