aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2010-10-29 10:50:37 -0400
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>2010-10-29 10:50:49 -0400
commit8d11e0218321fccc6912c4dcfbaf2095bad5d33a (patch)
tree6c26fd32b731c22027ed325d353fdd49ef34eaff /arch/s390
parentdb81a23d8003d1ca4452c6d728502780f0234368 (diff)
[S390] topology: add SCHED_MC config option
This allows us to easily check for performance differences seen with !CONFIG_SCHED_MC and topology=off. Actually there shouldn't be any (besides a small overhead because of additional code). Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/Kconfig11
-rw-r--r--arch/s390/kernel/sysinfo.c2
2 files changed, 12 insertions, 1 deletions
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index 97146ab157e6..45a9bed4a3fb 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -196,9 +196,18 @@ config HOTPLUG_CPU
196 can be controlled through /sys/devices/system/cpu/cpu#. 196 can be controlled through /sys/devices/system/cpu/cpu#.
197 Say N if you want to disable CPU hotplug. 197 Say N if you want to disable CPU hotplug.
198 198
199config SCHED_MC
200 def_bool y
201 prompt "Multi-core scheduler support"
202 depends on SMP
203 help
204 Multi-core scheduler support improves the CPU scheduler's decision
205 making when dealing with multi-core CPU chips at a cost of slightly
206 increased overhead in some places.
207
199config SCHED_BOOK 208config SCHED_BOOK
200 bool "Book scheduler support" 209 bool "Book scheduler support"
201 depends on SMP 210 depends on SMP && SCHED_MC
202 help 211 help
203 Book scheduler support improves the CPU scheduler's decision making 212 Book scheduler support improves the CPU scheduler's decision making
204 when dealing with machines that have several books. 213 when dealing with machines that have several books.
diff --git a/arch/s390/kernel/sysinfo.c b/arch/s390/kernel/sysinfo.c
index f04d93aa48ec..5c9e439bf3f6 100644
--- a/arch/s390/kernel/sysinfo.c
+++ b/arch/s390/kernel/sysinfo.c
@@ -106,11 +106,13 @@ static int stsi_15_1_x(struct sysinfo_15_1_x *info, char *page, int len)
106 for (i = 0; i < TOPOLOGY_NR_MAG; i++) 106 for (i = 0; i < TOPOLOGY_NR_MAG; i++)
107 len += sprintf(page + len, " %d", info->mag[i]); 107 len += sprintf(page + len, " %d", info->mag[i]);
108 len += sprintf(page + len, "\n"); 108 len += sprintf(page + len, "\n");
109#ifdef CONFIG_SCHED_MC
109 store_topology(info); 110 store_topology(info);
110 len += sprintf(page + len, "CPU Topology SW: "); 111 len += sprintf(page + len, "CPU Topology SW: ");
111 for (i = 0; i < TOPOLOGY_NR_MAG; i++) 112 for (i = 0; i < TOPOLOGY_NR_MAG; i++)
112 len += sprintf(page + len, " %d", info->mag[i]); 113 len += sprintf(page + len, " %d", info->mag[i]);
113 len += sprintf(page + len, "\n"); 114 len += sprintf(page + len, "\n");
115#endif
114 return len; 116 return len;
115} 117}
116 118