Skip to contentSkip to conversation

x86: cleanup get_smp_config

PATCH Applied Yinghai Lu 2 participants 2 messages Dec 6, 2008 – Dec 8, 2008

Subsystems (2)
lore
Share & tools
lore

Yinghai Lu

author
#0 lore raw

PATCH 1/1 x86: cleanup get_smp_config

Impact: cleanup

reordering exit path in __get_smp_config
also move two print out to acpi_process_madt

---
 arch/x86/kernel/acpi/boot.c |   11 +++++++++++
 arch/x86/kernel/mpparse.c   |   25 +++++++++++--------------
 2 files changed, 22 insertions(+), 14 deletions(-)
arch/x86/kernel/acpi/boot.c +11 -0
Index: linux-2.6/arch/x86/kernel/acpi/boot.c
===================================================================
@@ -1360,6 +1360,17 @@ static void __init acpi_process_madt(voi
 			disable_acpi();
 		}
 	}
+
+	/*
+	 * ACPI supports both logical (e.g. Hyper-Threading) and physical
+	 * processors, where MPS only supports physical.
+	 */
+	if (acpi_lapic && acpi_ioapic)
+		printk(KERN_INFO "Using ACPI (MADT) for SMP configuration "
+		       "information\n");
+	else if (acpi_lapic)
+		printk(KERN_INFO "Using ACPI for processor (LAPIC) "
+		       "configuration information\n");
 #endif
 	return;
 }
arch/x86/kernel/mpparse.c +11 -14
Index: linux-2.6/arch/x86/kernel/mpparse.c
===================================================================
@@ -586,26 +586,23 @@ static void __init __get_smp_config(unsi
 {
 	struct intel_mp_floating *mpf = mpf_found;
 
-	if (x86_quirks->mach_get_smp_config) {
-		if (x86_quirks->mach_get_smp_config(early))
-			return;
-	}
+	if (!mpf)
+		return;
+
 	if (acpi_lapic && early)
 		return;
+
 	/*
-	 * ACPI supports both logical (e.g. Hyper-Threading) and physical
-	 * processors, where MPS only supports physical.
+	 * MPS doesn't support hyperthreading, aka only have
+	 * thread 0 apic id in MPS table
 	 */
-	if (acpi_lapic && acpi_ioapic) {
-		printk(KERN_INFO "Using ACPI (MADT) for SMP configuration "
-		       "information\n");
+	if (acpi_lapic && acpi_ioapic)
 		return;
-	} else if (acpi_lapic)
-		printk(KERN_INFO "Using ACPI for processor (LAPIC) "
-		       "configuration information\n");
 
-	if (!mpf)
-		return;
+	if (x86_quirks->mach_get_smp_config) {
+		if (x86_quirks->mach_get_smp_config(early))
+			return;
+	}
 
 	printk(KERN_INFO "Intel MultiProcessor Specification v1.%d\n",
 	       mpf->mpf_specification);
Applied
#1 lore raw
Quoted 6 lines · Yinghai Lu

Impact: cleanup

reordering exit path in __get_smp_config
also move two print out to acpi_process_madt

Quoted 6 lines
---
 arch/x86/kernel/acpi/boot.c |   11 +++++++++++
 arch/x86/kernel/mpparse.c   |   25 +++++++++++--------------
 2 files changed, 22 insertions(+), 14 deletions(-)

applied to tip/x86/quirks, thanks Yinghai!

Ingo