[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>
This commit is contained in:
Heiko Carstens 2010-10-29 16:50:37 +02:00 committed by Martin Schwidefsky
parent db81a23d80
commit 8d11e02183
2 changed files with 12 additions and 1 deletions

View File

@ -196,9 +196,18 @@ config HOTPLUG_CPU
can be controlled through /sys/devices/system/cpu/cpu#. can be controlled through /sys/devices/system/cpu/cpu#.
Say N if you want to disable CPU hotplug. 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 config SCHED_BOOK
bool "Book scheduler support" bool "Book scheduler support"
depends on SMP depends on SMP && SCHED_MC
help help
Book scheduler support improves the CPU scheduler's decision making Book scheduler support improves the CPU scheduler's decision making
when dealing with machines that have several books. when dealing with machines that have several books.

View 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++) for (i = 0; i < TOPOLOGY_NR_MAG; i++)
len += sprintf(page + len, " %d", info->mag[i]); len += sprintf(page + len, " %d", info->mag[i]);
len += sprintf(page + len, "\n"); len += sprintf(page + len, "\n");
#ifdef CONFIG_SCHED_MC
store_topology(info); store_topology(info);
len += sprintf(page + len, "CPU Topology SW: "); len += sprintf(page + len, "CPU Topology SW: ");
for (i = 0; i < TOPOLOGY_NR_MAG; i++) for (i = 0; i < TOPOLOGY_NR_MAG; i++)
len += sprintf(page + len, " %d", info->mag[i]); len += sprintf(page + len, " %d", info->mag[i]);
len += sprintf(page + len, "\n"); len += sprintf(page + len, "\n");
#endif
return len; return len;
} }