]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
.27 patches
authorGreg Kroah-Hartman <gregkh@suse.de>
Thu, 18 Nov 2010 21:54:16 +0000 (13:54 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 18 Nov 2010 21:54:16 +0000 (13:54 -0800)
queue-2.6.27/acpi-idle-c-states-disabled-by-max_cstate-should-not-disable-the-tsc.patch [new file with mode: 0644]
queue-2.6.27/series

diff --git a/queue-2.6.27/acpi-idle-c-states-disabled-by-max_cstate-should-not-disable-the-tsc.patch b/queue-2.6.27/acpi-idle-c-states-disabled-by-max_cstate-should-not-disable-the-tsc.patch
new file mode 100644 (file)
index 0000000..0307e10
--- /dev/null
@@ -0,0 +1,39 @@
+From a0bf284bfedd6dc95bbee7ebf5ccf3b5f753a008 Mon Sep 17 00:00:00 2001
+From: Len Brown <len.brown@intel.com>
+Date: Fri, 15 May 2009 01:29:31 -0400
+Subject: ACPI: Idle C-states disabled by max_cstate should not disable the TSC
+
+From: Len Brown <len.brown@intel.com>
+
+commit a0bf284bfedd6dc95bbee7ebf5ccf3b5f753a008 upstream.
+
+Processor idle power states C2 and C3 stop the TSC on many machines.
+Linux recognizes this situation and marks the TSC as unstable:
+
+Marking TSC unstable due to TSC halts in idle
+
+But if those same machines are booted with "processor.max_cstate=1",
+then there is no need to validate C2 and C3, and no need to
+disable the TSC, which can be reliably used as a clocksource.
+
+Signed-off-by: Len Brown <len.brown@intel.com>
+Acked-by: Thomas Gleixner <tglx@linutronix.de>
+Cc: Youquan Song <youquan.song@linux.intel.com>
+Cc: S.Çağlar Onur <caglar@CS.Princeton.EDU>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/acpi/processor_idle.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/acpi/processor_idle.c
++++ b/drivers/acpi/processor_idle.c
+@@ -1158,7 +1158,7 @@ static int acpi_processor_power_verify(s
+       pr->power.timer_broadcast_on_state = INT_MAX;
+-      for (i = 1; i < ACPI_PROCESSOR_MAX_POWER; i++) {
++      for (i = 1; i < ACPI_PROCESSOR_MAX_POWER && i <= max_cstate; i++) {
+               struct acpi_processor_cx *cx = &pr->power.states[i];
+               switch (cx->type) {
index 16c15b8de534e1f5730ec2f837e21d5c2ad9c825..971fae0c7599e2d5812c39eba779e5b438cf37b9 100644 (file)
@@ -3,3 +3,4 @@ sched-fix-string-comparison-in-proc-sched_features.patch
 libsas-fix-ncq-mixing-with-non-ncq.patch
 gdth-integer-overflow-in-ioctl.patch
 fix-race-when-removing-scsi-devices.patch
+acpi-idle-c-states-disabled-by-max_cstate-should-not-disable-the-tsc.patch