diff options
author | Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> | 2008-04-09 21:31:46 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-04-24 20:05:01 -0400 |
commit | 0fda6b403f0eca66ad8a7c946b3996e359100443 (patch) | |
tree | dba222ea4c6f456a1521956f32631ab834a64886 /drivers/acpi/processor_idle.c | |
parent | 4b119e21d0c66c22e8ca03df05d9de623d0eb50f (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.c | 4 |
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) |