2007-11-01 22:31:34

by Yinghai Lu

[permalink] [raw]
Subject: Re: + x86-show-cpuinfo-only-for-online-cpus.patch added to -mm tree

On Nov 1, 2007 12:39 PM, <[email protected]> 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" <[email protected]>
>
> 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 <[email protected]>
> Cc: Glauber de Oliveira Costa <[email protected]>
> Cc: Thomas Gleixner <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Cc: Mike Travis <[email protected]>
> Signed-off-by: Andrew Morton <[email protected]>
> ---
>
> 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


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

On Thu, Nov 01, 2007 at 03:31:23PM -0700, Yinghai Lu wrote:
>
> 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.

No, I don't think that would be a good idea. It would change
the usual behaviour of that interface (to display only CPUs that
are "up and running".)


Regards,

Andreas

--
Operating | AMD Saxony Limited Liability Company & Co. KG,
System | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
Research | Register Court Dresden: HRA 4896, General Partner authorized
Center | to represent: AMD Saxony LLC (Wilmington, Delaware, US)
(OSRC) | General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy