linux/drivers/s390/cio
Martin Schwidefsky 10ad34bc76 s390: add SMT support
The multi-threading facility is introduced with the z13 processor family.
This patch adds code to detect the multi-threading facility. With the
facility enabled each core will surface multiple hardware threads to the
system. Each hardware threads looks like a normal CPU to the operating
system with all its registers and properties.

The SCLP interface reports the SMT topology indirectly via the maximum
thread id. Each reported CPU in the result of a read-scp-information
is a core representing a number of hardware threads.

To reflect the reduced CPU capacity if two hardware threads run on a
single core the MT utilization counter set is used to normalize the
raw cputime obtained by the CPU timer deltas. This scaled cputime is
reported via the taskstats interface. The normal /proc/stat numbers
are based on the raw cputime and are not affected by the normalization.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2015-01-22 12:16:01 +01:00
..
airq.c s390/nohz: use a per-cpu flag for arch_needs_cpu 2014-10-09 09:14:02 +02:00
blacklist.c s390/blacklist: Perform subchannel scan only when needed 2013-12-16 14:37:43 +01:00
blacklist.h
ccwgroup.c s390/ccwgroup: use ccwgroup_ungroup wrapper 2014-06-16 10:32:52 +02:00
ccwreq.c s390: cio driver &__get_cpu_var replacements 2014-08-26 13:45:52 -04:00
chp.c s390/cio: replace strnicmp with strncasecmp 2014-10-14 02:18:25 +02:00
chp.h s390/cio: fix multiple structure definitions 2014-05-20 08:58:53 +02:00
chsc_sch.c s390: cio driver &__get_cpu_var replacements 2014-08-26 13:45:52 -04:00
chsc_sch.h
chsc.c s390/chsc: fix SEI usage on old FW levels 2014-04-17 12:46:28 +02:00
chsc.h s390/cio: fix multiple structure definitions 2014-05-20 08:58:53 +02:00
cio_debug.h
cio.c s390: add SMT support 2015-01-22 12:16:01 +01:00
cio.h s390/lowcore: replace lowcore irb array with a per-cpu variable 2014-05-28 10:39:16 +02:00
cmf.c
crw.c
css.c s390/css: Prevent unnecessary allocation in subchannel loop 2013-12-16 14:37:42 +01:00
css.h s390/cio: Delay scan for newly available I/O devices 2013-12-16 14:37:41 +01:00
device_fsm.c s390: cio driver &__get_cpu_var replacements 2014-08-26 13:45:52 -04:00
device_id.c
device_ops.c s390/cio: fix multiple structure definitions 2014-05-20 08:58:53 +02:00
device_pgid.c
device_status.c
device.c s390/cio: set device name as early as possible 2014-06-16 10:31:03 +02:00
device.h
eadm_sch.c s390/eadm: change timeout value 2014-12-08 09:42:42 +01:00
eadm_sch.h
fcx.c
idset.c s390/cio: idset.c: remove some unused functions 2015-01-08 10:02:50 +01:00
idset.h s390/cio: idset.c: remove some unused functions 2015-01-08 10:02:50 +01:00
io_sch.h
ioasm.h
isc.c
itcw.c
Makefile
orb.h
qdio_debug.c qdio: Keep device-specific dbf entries 2014-06-16 10:31:58 +02:00
qdio_debug.h qdio: Keep device-specific dbf entries 2014-06-16 10:31:58 +02:00
qdio_main.c qdio: Keep device-specific dbf entries 2014-06-16 10:31:58 +02:00
qdio_setup.c s390/qdio: add helpers to manage qdio buffers 2014-07-22 09:26:13 +02:00
qdio_thinint.c
qdio.h s390/qdio: for_each macro correctness 2014-01-29 09:07:50 +01:00
scm.c