Re: + x86-show-cpuinfo-only-for-online-cpus.patch added to -mm tree

From: Yinghai Lu
Date: Thu Nov 01 2007 - 18:31:35 EST


On Nov 1, 2007 12:39 PM, <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> The patch titled
> x86: show cpuinfo only for online CPUs
> has been added to the -mm tree. Its filename is
> x86-show-cpuinfo-only-for-online-cpus.patch
>
> *** Remember to use Documentation/SubmitChecklist when testing your code ***
>
> See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
> out what to do about this
>
> ------------------------------------------------------
> Subject: x86: show cpuinfo only for online CPUs
> From: "Andreas Herrmann" <andreas.herrmann3@xxxxxxx>
>
> Fix regressions introduced with 92cb7612aee39642d109b8d935ad265e602c0563.
>
> It can happen that cpuinfo is displayed for CPUs that are not online or
> even worse for CPUs not present at all. As an example, following was
> shown for a "second" CPU of a single core K8 variant:
>
> processor : 0
> vendor_id : unknown
> cpu family : 0
> model : 0
> model name : unknown
> stepping : 0
> cache size : 0 KB
> fpu : yes
> fpu_exception : yes
> cpuid level : 0
> wp : yes
> flags :
> bogomips : 0.00
> clflush size : 0
> cache_alignment : 0
> address sizes : 0 bits physical, 0 bits virtual
> power management:
>
> Signed-off-by: Andreas Herrmann <andreas.herrmann3@xxxxxxx>
> Cc: Glauber de Oliveira Costa <gcosta@xxxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxx>
> Cc: Mike Travis <travis@xxxxxxx>
> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> ---
>
> arch/x86/kernel/cpu/proc.c | 8 +++-----
> arch/x86/kernel/setup_64.c | 8 +++-----
> 2 files changed, 6 insertions(+), 10 deletions(-)
>
...
> diff -puN arch/x86/kernel/setup_64.c~x86-show-cpuinfo-only-for-online-cpus arch/x86/kernel/setup_64.c
> --- a/arch/x86/kernel/setup_64.c~x86-show-cpuinfo-only-for-online-cpus
> +++ a/arch/x86/kernel/setup_64.c
> @@ -1131,8 +1131,6 @@ static int show_cpuinfo(struct seq_file
>
>
> #ifdef CONFIG_SMP
> - if (!cpu_online(c->cpu_index))
> - return 0;
> cpu = c->cpu_index;
> #endif

wonder if could change

> if (!cpu_online(c->cpu_index))
> return 0;

==>

> if (c->cpu_index >= NR_CPUS)
> return 0;

and add another entry for every cpu
online : 1 when it is enabled
or online : 0 when it is disabled by /sys/devices/system/cpuX/online.

YH
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/