Messages in this thread | | | Date | Wed, 29 Apr 2009 12:50:21 +0200 | From | Ingo Molnar <> | Subject | Re: [git-pull -tip] x86: cpu_debug patches |
| |
* Jaswinder Singh Rajput <jaswinder@kernel.org> wrote:
> On Tue, 2009-04-28 at 19:28 +0200, Ingo Molnar wrote: > > * Jaswinder Singh Rajput <jaswinder@kernel.org> wrote: > > > > > @@ -850,10 +903,10 @@ static int cpu_init_cpu(void) > > > cpui = &cpu_data(cpu); > > > if (!cpu_has(cpui, X86_FEATURE_MSR)) > > > continue; > > > - per_cpu(cpu_model, cpu) = ((cpui->x86_vendor << 16) | > > > - (cpui->x86 << 8) | > > > - (cpui->x86_model)); > > > - per_cpu(cpu_modelflag, cpu) = get_cpu_modelflag(cpu); > > > + per_cpu(cpu_modelflag, cpu) = get_cpu_flag(cpui); > > > + if (!per_cpu(cpu_modelflag, cpu)) > > > + send_report(per_cpu(cpu_priv_count, cpu), cpui); > > > > This means that if the CPU is not enumerated in the model table > > explicitly, we'll fall back to some really minimal output, right? > > > > Yes.
That's a bug really: it means that for every new CPU type that comes around we need to update this code. I.e. precisely for those CPUs where we might need the most help from such a debug facility, we wont have much info to look at ... New CPUs generally support all the CPU features that are displayed here, in a compatible manner.
So that needs to be improved/changed to not be tied to such a static 'cpu model' enumeration but instead be CPU feature flags driven. See all the existing cpu_has_*() tests we have.
Ingo
| |