[S390] topology: add SCHED_MC config option
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Fri, 29 Oct 2010 14:50:37 +0000 (16:50 +0200)
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>
Fri, 29 Oct 2010 14:50:49 +0000 (16:50 +0200)
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>
arch/s390/Kconfig
arch/s390/kernel/sysinfo.c

index 97146ab157e6601011c2c79955eb4473935c981f..45a9bed4a3fb8f9a9a5a68de63aa859a17c76d33 100644 (file)
@@ -196,9 +196,18 @@ config HOTPLUG_CPU
          can be controlled through /sys/devices/system/cpu/cpu#.
          Say N if you want to disable CPU hotplug.
 
+config SCHED_MC
+       def_bool y
+       prompt "Multi-core scheduler support"
+       depends on SMP
+       help
+         Multi-core scheduler support improves the CPU scheduler's decision
+         making when dealing with multi-core CPU chips at a cost of slightly
+         increased overhead in some places.
+
 config SCHED_BOOK
        bool "Book scheduler support"
-       depends on SMP
+       depends on SMP && SCHED_MC
        help
          Book scheduler support improves the CPU scheduler's decision making
          when dealing with machines that have several books.
index f04d93aa48ec927f54f9f032ccedd5fa1f6e8d7a..5c9e439bf3f6d21983ebbdaa706bb7cfb8e3a6a6 100644 (file)
@@ -106,11 +106,13 @@ static int stsi_15_1_x(struct sysinfo_15_1_x *info, char *page, int len)
        for (i = 0; i < TOPOLOGY_NR_MAG; i++)
                len += sprintf(page + len, " %d", info->mag[i]);
        len += sprintf(page + len, "\n");
+#ifdef CONFIG_SCHED_MC
        store_topology(info);
        len += sprintf(page + len, "CPU Topology SW:     ");
        for (i = 0; i < TOPOLOGY_NR_MAG; i++)
                len += sprintf(page + len, " %d", info->mag[i]);
        len += sprintf(page + len, "\n");
+#endif
        return len;
 }