Re: [PATCH -tip] x86: cpu/proc.c adding extended_cpuid_level for/proc/cpuinfo

From: H. Peter Anvin
Date: Wed Jun 10 2009 - 13:16:47 EST

>>> The more I'm thinking about this I think it was a mistake to put cpuid
>>> level: there in the first place, too. My opinion is increasingly to
>>> leave this to x86info or other user-space tools.
>> cpuid level is as important as cpu family, model and stepping.
>> For Intel, in some cases cpuid level is more important then cpu family,
>> model and stepping. Like you cannot tell by looking at cpu family, model
>> and stepping which model is new and which is old like 05_01 or 06_1A or
>> 0F_03H ?
>> But by looking at cpuid level and extended cpuid level you can tell
>> which is new and which is old and which supports more features.
>> So cpuid level and extended cpuid level is better scale than cpu family,
>> model and stepping. So I think hiding this valuable information is a
>> crime.
> cpuid level and extended cpuid level tells the information about Intel
> processor model. Do you still think it is useless and should not be present
> in /proc/cpuinfo .

I think it's pointless, because if you're doing this kind of stuff you
might as well talk to CPUID directly. We have a CPUID interface
already. The kernel isn't meant to replicate x86info or any of those
tools -- it really can't, and at that point why stop at x86info... we
could replicate arbitrary applications at that point.

As far as extended CPUID, why only the 0x0000 and 0x8000 ranges?
Transmeta used 0x8086 and VIA uses 0xC000, but we don't even cache those
internally, nevermind display them.

I'm not really all that doctrinal about this, but I'd like to get a
decent answer to the question "where does it stop, *and why*". It's a
slippery slope, and without a target, it goes on forever.


H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at