aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/processor_idle.c
diff options
context:
space:
mode:
authorVenkatesh Pallipadi <venkatesh.pallipadi@intel.com>2008-04-09 21:31:46 -0400
committerLen Brown <len.brown@intel.com>2008-04-24 20:05:01 -0400
commit0fda6b403f0eca66ad8a7c946b3996e359100443 (patch)
treedba222ea4c6f456a1521956f32631ab834a64886 /drivers/acpi/processor_idle.c
parent4b119e21d0c66c22e8ca03df05d9de623d0eb50f (diff)
2.6.25 regression: powertop says 120K wakeups/sec
Patch to fix huge number of wakeups reported due to recent changes in processor_idle.c. The problem was that the entry_method determination was broken due to one of the recent commits (bc71bec91f987) causing C1 entry to not to go to halt. http://lkml.org/lkml/2008/3/22/124 Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/processor_idle.c')
-rw-r--r--drivers/acpi/processor_idle.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index 788da9781f80..836362b50faa 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -848,6 +848,7 @@ static int acpi_processor_get_power_info_default(struct acpi_processor *pr)
848 /* all processors need to support C1 */ 848 /* all processors need to support C1 */
849 pr->power.states[ACPI_STATE_C1].type = ACPI_STATE_C1; 849 pr->power.states[ACPI_STATE_C1].type = ACPI_STATE_C1;
850 pr->power.states[ACPI_STATE_C1].valid = 1; 850 pr->power.states[ACPI_STATE_C1].valid = 1;
851 pr->power.states[ACPI_STATE_C1].entry_method = ACPI_CSTATE_HALT;
851 } 852 }
852 /* the C0 state only exists as a filler in our array */ 853 /* the C0 state only exists as a filler in our array */
853 pr->power.states[ACPI_STATE_C0].valid = 1; 854 pr->power.states[ACPI_STATE_C0].valid = 1;
@@ -960,6 +961,9 @@ static int acpi_processor_get_power_info_cst(struct acpi_processor *pr)
960 cx.address); 961 cx.address);
961 } 962 }
962 963
964 if (cx.type == ACPI_STATE_C1) {
965 cx.valid = 1;
966 }
963 967
964 obj = &(element->package.elements[2]); 968 obj = &(element->package.elements[2]);
965 if (obj->type != ACPI_TYPE_INTEGER) 969 if (obj->type != ACPI_TYPE_INTEGER)