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 s390: replace strict_strtoul() with kstrtoul() 2013-08-22 12:20:00 +02:00
crw.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
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 s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
device_ops.c s390/cio: fix multiple structure definitions 2014-05-20 08:58:53 +02:00
device_pgid.c s390/cio: handle unknown pgroup state 2013-02-14 15:55:09 +01:00
device_status.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
device.c s390/cio: set device name as early as possible 2014-06-16 10:31:03 +02:00
device.h s390/cio: fix early init counter usage 2013-04-17 14:07:33 +02:00
eadm_sch.c s390/eadm: change timeout value 2014-12-08 09:42:42 +01:00
eadm_sch.h s390/eadm_sch: improve quiesce handling 2013-10-24 17:16:58 +02:00
fcx.c [S390] drivers: Correct size given to memset 2009-12-18 17:43:32 +01:00
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 s390/cio: dont abort verification after missing irq 2013-02-14 15:55:07 +01:00
ioasm.h [S390] cio: move asms to generic header 2011-03-15 17:08:23 +01:00
isc.c
itcw.c [S390] cio: reduce memory consumption of itcw structures 2011-01-05 12:47:29 +01:00
Makefile s390/cio: add eadm subchannel driver 2012-09-26 15:45:00 +02:00
orb.h s390: add eadm related structures 2012-09-26 15:44:57 +02:00
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 s390/airq: simplify adapter interrupt code 2013-06-26 21:10:28 +02:00
qdio.h s390/qdio: for_each macro correctness 2014-01-29 09:07:50 +01:00
scm.c s390/scm_block: do not hide eadm subchannel dependency 2013-11-15 14:08:42 +01:00