Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.

Bug 153177

Summary: With HT off in bios, /proc/cpuinfo shows2 processors, each with 2 siblings
Product: Red Hat Enterprise Linux 4 Reporter: Christopher P Johnson <christopher.p.johnson>
Component: kernelAssignee: Jim Paradis <jparadis>
Status: CLOSED DUPLICATE QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.0CC: jbaron, linux-bugs, peterm, riel, shillman
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-12-07 18:33:51 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Christopher P Johnson 2005-04-02 01:04:12 UTC
Description of problem:

See http://bugme.osdl.org/show_bug.cgi?id=4359

Steps to reproduce:

On an HP DL-360 or Sun Fire V60x (dual xeon systems)
  1. disable HT in the bios
  2. boot any smp kernel after 2.6.5 (didn't try UP kernel)
  3. /proc/cpuinfo shows 2 processors (phys ID 0 and 3) with 2 siblings

Expected behavior:
 /proc/cpuinfo should show 2 processors with 1 sibling each.

Additional info:

The x86_64 kernel already provides the following code to workaround
this issue. Please add it to the i386 kernel.

--- linux-2.6.6-1.435.2.3/arch/i386/kernel/smpboot.c.org	2005-03-19
06:56:51.123416256 -0800
+++ linux-2.6.6-1.435.2.3/arch/i386/kernel/smpboot.c	2005-03-19
06:59:01.884537544 -0800
@@ -1110,8 +1110,12 @@ static void __init smp_boot_cpus(unsigne
 			cpu_set(cpu, cpu_sibling_map[cpu]);
 		}
 
-		if (siblings != smp_num_siblings)
+		if (siblings != smp_num_siblings) {
 			printk(KERN_WARNING "WARNING: %d siblings found for CPU%d, should be %d\n",
siblings, cpu, smp_num_siblings);
+			printk(KERN_WARNING "WARNING: BIOS reporting wrong sibling count. Resetting
it to %d\n", siblings);
+			smp_num_siblings = siblings;
+		}
+
 	}
 
 	if (nmi_watchdog == NMI_LOCAL_APIC)

Comment 1 Suzanne Hillman 2005-04-04 19:45:49 UTC
Please attach the patch to this bug using the "Create a New Attachment" link.

Comment 2 Jim Paradis 2005-12-07 18:33:51 UTC

*** This bug has been marked as a duplicate of 169472 ***