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 (bc71bec91f
) 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>
This commit is contained in:
parent
4b119e21d0
commit
0fda6b403f
1 changed files with 4 additions and 0 deletions
|
@ -848,6 +848,7 @@ static int acpi_processor_get_power_info_default(struct acpi_processor *pr)
|
||||||
/* all processors need to support C1 */
|
/* all processors need to support C1 */
|
||||||
pr->power.states[ACPI_STATE_C1].type = ACPI_STATE_C1;
|
pr->power.states[ACPI_STATE_C1].type = ACPI_STATE_C1;
|
||||||
pr->power.states[ACPI_STATE_C1].valid = 1;
|
pr->power.states[ACPI_STATE_C1].valid = 1;
|
||||||
|
pr->power.states[ACPI_STATE_C1].entry_method = ACPI_CSTATE_HALT;
|
||||||
}
|
}
|
||||||
/* the C0 state only exists as a filler in our array */
|
/* the C0 state only exists as a filler in our array */
|
||||||
pr->power.states[ACPI_STATE_C0].valid = 1;
|
pr->power.states[ACPI_STATE_C0].valid = 1;
|
||||||
|
@ -960,6 +961,9 @@ static int acpi_processor_get_power_info_cst(struct acpi_processor *pr)
|
||||||
cx.address);
|
cx.address);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (cx.type == ACPI_STATE_C1) {
|
||||||
|
cx.valid = 1;
|
||||||
|
}
|
||||||
|
|
||||||
obj = &(element->package.elements[2]);
|
obj = &(element->package.elements[2]);
|
||||||
if (obj->type != ACPI_TYPE_INTEGER)
|
if (obj->type != ACPI_TYPE_INTEGER)
|
||||||
|
|
Loading…
Add table
Reference in a new issue