3

I have a server which displays the following information in dmidecode output for CPU:

Handle 0x000D, DMI type 4, 35 bytes                            
Processor Information          
        Socket Designation: CPU 1                              
        Type: Central Processor                                
        Family: Xeon           
        Manufacturer: GenuineIntel                             
        ID: FB 06 00 00 01 03 00 00                            
        Signature: Type 0, Family 6, Model 15, Stepping 11     
        Flags:                 
                FPU (Floating-point unit on-chip)              
                CX8 (CMPXCHG8 instruction supported)           
                APIC (On-chip APIC hardware supported)         
        Version: Intel Xeon    
        Voltage: 1.2 V         
        External Clock: 266 MHz                                
        Max Speed: 3733 MHz    
        Current Speed: 2000 MHz                                
        Status: Populated, Enabled                             
        Upgrade: ZIF Socket    
        L1 Cache Handle: 0x0009                                
        L2 Cache Handle: 0x000A                                
        L3 Cache Handle: Not Provided                          
        Serial Number: Not Specified                           
        Asset Tag: Not Specified                               
        Part Number: Not Specified   

Based on Max Speed, I would guess that it is a Xeon 5080 CPU. However, according to /proc/cpuinfo, it is Xeon E5335:

# grep "model name" /proc/cpuinfo
model name      : Intel(R) Xeon(R) CPU           E5335  @ 2.00GHz
model name      : Intel(R) Xeon(R) CPU           E5335  @ 2.00GHz
model name      : Intel(R) Xeon(R) CPU           E5335  @ 2.00GHz
model name      : Intel(R) Xeon(R) CPU           E5335  @ 2.00GHz
# 

When I check the flags/features listed in /proc/cpuinfo, then it shows ssse3, which is supported in Xeon 5080 and not in Xeon E5335. How does /proc/cpuinfo detect the CPU model?

8

On x86, it uses the CPUID “Processor Brand String” feature, where supported. Thus in your case it’s the CPU itself which is returning the “Intel(R) Xeon(R) CPU E5335 @ 2.00GHz“ string. This corresponds to the dmidecode output: ID: FB 06 00 00 01 03 00 00 matches a 06FB CPUID, i.e. E5335 (a 5080 would have a 0F64 CPUID).

You can see the kernel implementation in arch/x86/kernel/cpu/common.c’s get_model_name function.

The Xeon E5335 is a Clovertown CPU, which does support SSSE3.

  • Thanks! However, this makes me wonder, where does this Max Speed: 3733 MHz come from seen in the output of dmidecode? – Martin Oct 24 '17 at 18:42
  • Back in the Pentium 4 and Core days, DMI tables commonly listed the maximum supported CPU speed of the motherboard, not the maximum Turbo speed of the CPU (which didn’t exist); that could explain what you’re seeing here. With its 1066MHz FSB, I’m not sure a 5080 could even be configured to run at exactly 2GHz... – Stephen Kitt Oct 25 '17 at 8:52
  • That could be true in this case as well because according to Wikipedia list of Intel Xeon microprocessors article, the highest frequency Xeon CPU for LGA 771 socket is Xeon 5080 which operates at 3733 MHz. – Martin Oct 25 '17 at 9:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.