Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 27922b4260f65d317aabda37e42bbbff > files > 79

kernel-2.6.18-238.el5.src.rpm

From: John Villalovos <jvillalo@redhat.com>
Date: Fri, 11 Jul 2008 10:37:44 -0400
Subject: [acpi] disable lapic timer on C2 states
Message-id: 20080711143744.GB12519@linuxjohn.usersys.redhat.com
O-Subject: [Patch RHEL 5.3] BZ 453166 Tylersburg HEDT cannot boot regular 2.6.18-92 kernel without noapic
Bugzilla: 438409
RH-Acked-by: Matthew Garrett <mjg@redhat.com>

Bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=453166

This is upstream in commit: 169a0abbe32813af4904cc1605c0f7ea0534f77b

Description:
This patch fixes an issue with the Tylersburg-HEDT (Nehalem) system
hanging at boot.

When a platform exports a C2 state on Nehalem, RHEL5 will hang without
this patch. No platform or processor workaround for this.

This patch disables the use of Local APIC timer on platforms that
support C2 state, as APIC timer is not guaranteed to run in anything
other than C0 and C1.  This change is already in upstream and needed for
Nehalem.

Tested by my using the 2.6.18-92 x86_64 kernel.

diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index 90a2aaf..a80065f 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -906,10 +906,7 @@ static int acpi_processor_power_verify(struct acpi_processor *pr)
 		case ACPI_STATE_C2:
 			acpi_processor_power_verify_c2(cx);
 #ifdef ARCH_APICTIMER_STOPS_ON_C3
-			/* Some AMD systems fake C3 as C2, but still
-			   have timer troubles */
-			if (cx->valid && 
-				boot_cpu_data.x86_vendor == X86_VENDOR_AMD)
+			if (cx->valid)
 				timer_broadcast++;
 #endif
 			break;