diff options
author | Andi Kleen <ak@suse.de> | 2005-04-16 15:24:51 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 15:24:51 -0700 |
commit | db4686812835a497d6f5de1e6cf6e8010a3fc0c7 (patch) | |
tree | 3a4806ca104fe1807b928d1f85caf69f2dd6f9d8 | |
parent | e09b8c0b2006f5e6b543f7458b684d6ebd99e271 (diff) | |
download | talos-op-linux-db4686812835a497d6f5de1e6cf6e8010a3fc0c7.tar.gz talos-op-linux-db4686812835a497d6f5de1e6cf6e8010a3fc0c7.zip |
[PATCH] x86-64/i386: Revert cpuinfo siblings behaviour back to 2.6.10
Only display physical id/siblings when there are siblings or dual core.
In 2.6.11 I accidentially broke it and it was always displaying these
fields But for compatibility to all these /proc parsers around it is better
to do it in the old way again.
Noticed by Suresh Siddha
Cc: <Suresh.b.siddha@intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | arch/i386/kernel/cpu/proc.c | 7 | ||||
-rw-r--r-- | arch/x86_64/kernel/setup.c | 8 |
2 files changed, 11 insertions, 4 deletions
diff --git a/arch/i386/kernel/cpu/proc.c b/arch/i386/kernel/cpu/proc.c index c8d83fdc237a..89a2956ee657 100644 --- a/arch/i386/kernel/cpu/proc.c +++ b/arch/i386/kernel/cpu/proc.c @@ -94,8 +94,11 @@ static int show_cpuinfo(struct seq_file *m, void *v) if (c->x86_cache_size >= 0) seq_printf(m, "cache size\t: %d KB\n", c->x86_cache_size); #ifdef CONFIG_X86_HT - seq_printf(m, "physical id\t: %d\n", phys_proc_id[n]); - seq_printf(m, "siblings\t: %d\n", c->x86_num_cores * smp_num_siblings); + if (c->x86_num_cores * smp_num_siblings > 1) { + seq_printf(m, "physical id\t: %d\n", phys_proc_id[n]); + seq_printf(m, "siblings\t: %d\n", + c->x86_num_cores * smp_num_siblings); + } #endif /* We use exception 16 if we have hardware math and we've either seen it or the CPU claims it is internal */ diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c index e50fc41de6b9..a191d4831789 100644 --- a/arch/x86_64/kernel/setup.c +++ b/arch/x86_64/kernel/setup.c @@ -1113,8 +1113,12 @@ static int show_cpuinfo(struct seq_file *m, void *v) seq_printf(m, "cache size\t: %d KB\n", c->x86_cache_size); #ifdef CONFIG_SMP - seq_printf(m, "physical id\t: %d\n", phys_proc_id[c - cpu_data]); - seq_printf(m, "siblings\t: %d\n", c->x86_num_cores * smp_num_siblings); + if (smp_num_siblings * c->x86_num_cores > 1) { + int cpu = c - cpu_data; + seq_printf(m, "physical id\t: %d\n", phys_proc_id[cpu]); + seq_printf(m, "siblings\t: %d\n", + c->x86_num_cores * smp_num_siblings); + } #endif seq_printf(m, |