diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2010-10-29 10:50:38 -0400 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2010-10-29 10:50:50 -0400 |
commit | 0b52783d4feb14d6ff990a63512a66d6131d41f9 (patch) | |
tree | 5b10a1f7d105299b49612f0c5076bda3640611b8 /arch/s390/kernel | |
parent | 8d11e0218321fccc6912c4dcfbaf2095bad5d33a (diff) |
[S390] topology: fix cpu masks for topology=off case
Fix cpu masks for 'topology=off' case. Folding of the scheduling domains
happen in such a way that everything belongs to the MC domain instead
of the CPU doimain.
This should fix a performance regression introduced with
eafd2b6d "[S390] topology: use default MC domain initializer" and also
makes sure we have the same behavious as if CONFIG_SCHED_MC was not
selected at all.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel')
-rw-r--r-- | arch/s390/kernel/topology.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/s390/kernel/topology.c b/arch/s390/kernel/topology.c index a9dee9048ee5..94b06c31fc8a 100644 --- a/arch/s390/kernel/topology.c +++ b/arch/s390/kernel/topology.c | |||
@@ -53,8 +53,10 @@ static cpumask_t cpu_group_map(struct mask_info *info, unsigned int cpu) | |||
53 | cpumask_t mask; | 53 | cpumask_t mask; |
54 | 54 | ||
55 | cpus_clear(mask); | 55 | cpus_clear(mask); |
56 | if (!topology_enabled || !MACHINE_HAS_TOPOLOGY) | 56 | if (!topology_enabled || !MACHINE_HAS_TOPOLOGY) { |
57 | return cpu_possible_map; | 57 | cpumask_copy(&mask, cpumask_of(cpu)); |
58 | return mask; | ||
59 | } | ||
58 | while (info) { | 60 | while (info) { |
59 | if (cpu_isset(cpu, info->mask)) { | 61 | if (cpu_isset(cpu, info->mask)) { |
60 | mask = info->mask; | 62 | mask = info->mask; |