Bug 88040

Summary: "dmesg" reports 4 processors instead of 2.
Product: [Retired] Red Hat Ready Certification Tests Reporter: Alex Matei <matei5>
Component: kernelAssignee: Rob Landry <rlandry>
Status: CLOSED NOTABUG QA Contact: Rob Landry <rlandry>
Severity: high Docs Contact:
Priority: high    
Version: 1.8CC: hcp-admin
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-04-04 21:08:45 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Alex Matei 2003-04-04 20:40:56 UTC
Description of problem:
Motherboard: Intel server board SE7501BR2.
2 X CPU, Xeon 2.8GHZ.
Intel shows SE7501BR2 supports RedHat 8.0.
RedHat shows RedHat Linux 8.0 supports Intel SE7501BR2.
When booting the machine, BIOS shows the following:
------------
AMIBIOS (C)1985-2002 American Megatrends Inc.,
Copyright 1996-2002 Intel Corporation

SBR20.86B.0043.P02.0212131401
SBR2 Production BIOS Version 1.00
BIOS Build 0043

2 X Intel(R) Xeon(TM) CPU 2.80GHz
533MHz Front Side Bus
Testing system memory, memory size=1024MB
1024MB Extended Memory Passed
512K L2 Cache SRAM Passed


Legacy Keyboard .... Detected
Legacy Mouse ....... Detected
USB Legacy ......... Enabled


Entering boot selection menu...
------------

But, "dmesg" shows:
---------------------
 00000000 00000000, vendor = 0
CPU: L1 I cache: 0K, L1 D cache: 8K
CPU: L2 cache: 512K
CPU: Physical Processor ID: 0
CPU: After vendor init, caps: bfebfbff 00000000 00000000 00000000
Intel machine check reporting enabled on CPU#1.
CPU:     After generic, caps: bfebfbff 00000000 00000000 00000000
CPU:             Common caps: bfebfbff 00000000 00000000 00000000
CPU1: Intel(R) Xeon(TM) CPU 2.80GHz stepping 07
Booting processor 2/6 eip 2000
Initializing CPU#2
masked ExtINT on CPU#2
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Calibrating delay loop... 5573.87 BogoMIPS
CPU: Before vendor init, caps: bfebfbff 00000000 00000000, vendor = 0
CPU: L1 I cache: 0K, L1 D cache: 8K
CPU: L2 cache: 512K
CPU: Physical Processor ID: 3
CPU: After vendor init, caps: bfebfbff 00000000 00000000 00000000
Intel machine check reporting enabled on CPU#2.
CPU:     After generic, caps: bfebfbff 00000000 00000000 00000000
CPU:             Common caps: bfebfbff 00000000 00000000 00000000
CPU2: Intel(R) Xeon(TM) CPU 2.80GHz stepping 07
Booting processor 3/7 eip 2000
Initializing CPU#3
masked ExtINT on CPU#3
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Calibrating delay loop... 5573.87 BogoMIPS
CPU: Before vendor init, caps: bfebfbff 00000000 00000000, vendor = 0
CPU: L1 I cache: 0K, L1 D cache: 8K
CPU: L2 cache: 512K
CPU: Physical Processor ID: 3
CPU: After vendor init, caps: bfebfbff 00000000 00000000 00000000
Intel machine check reporting enabled on CPU#3.
CPU:     After generic, caps: bfebfbff 00000000 00000000 00000000
CPU:             Common caps: bfebfbff 00000000 00000000 00000000
CPU3: Intel(R) Xeon(TM) CPU 2.80GHz stepping 07
Total of 4 processors activated (22259.09 BogoMIPS).
--------------------

Version-Release number of selected component (if applicable):kernel-2.4.18-14smp

How reproducible:
Everytime

Steps to Reproduce:
1.Install Red Hat Linux 8.0 on SE7501BR2 with 2 processors
2.Every time the machine is booted, "dmesg" shows 4 processors.
    
Actual results:
"dmesg" shows 4 processors.
Is the OS using four processors, or one?

Expected results:
"dmesg" should show 2 processors as BIOS does.

Additional info:
It happens with both GRUB and LILO.

Comment 1 Rob Landry 2003-04-04 21:08:45 UTC
This is expected.  XEON CPUs (meaning those with the marketing name XEON not the
extention XEON eg. Pentium III XEON) have two processing units per physical
unit.  This means that for every CPU the Linux kernel counts two, so 2 CPUs * 2
units = 4.  While it's not quite the same as a four CPU SMP system there are
similarities; the limitation of this setup is that for every two cpu's you share
the cache and other lines.  Intel calls this technology Hyper-Threading.  If you
would like to verify that your CPUs contain the Hypter-Threading technology you
can check the flags under /proc/cpuinfo where you see things like 'mmx' and
'sse2'; there should also be an 'ht' flag.