linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Julius Werner <jwerner@chromium.org>
To: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: linux-kernel@vger.kernel.org, len.brown@intel.com,
	khilman@ti.com, rjw@sisk.pl, deepthi@linux.vnet.ibm.com,
	akpm@linux-foundation.org, g.trinabh@gmail.com,
	snanda@chromium.org,
	Lists Linaro-dev <linaro-dev@lists.linaro.org>,
	Julius Werner <jwerner@chromium.org>
Subject: [PATCH] acpi/cpuidle: reinitialize power_usage values when adding/removing C-states
Date: Fri, 19 Oct 2012 14:50:46 -0700	[thread overview]
Message-ID: <1350683446-8244-1-git-send-email-jwerner@chromium.org> (raw)
In-Reply-To: <507FBC20.50004@linaro.org>

When cpuidle drivers do not supply explicit power_usage values,
cpuidle/driver.c inserts dummy values instead. When a running processor
dynamically gains new C-states (e.g. after ACPI events), the power_usage
values of those states will stay uninitialized, and cpuidle governors
will never choose to enter them.

This patch ensures that the ACPI cpuidle driver sets those dummy power
values itself whenever it (re-)initializes its idle states.
Tested and verified on an Acer AC700 Chromebook, which supports the C3
state only when it switches from AC to battery power.

Signed-off-by: Julius Werner <jwerner@chromium.org>
---
 drivers/acpi/processor_idle.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index e8086c7..078e22f 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -1090,6 +1090,9 @@ static int acpi_processor_setup_cpuidle_states(struct acpi_processor *pr)
 		state->exit_latency = cx->latency;
 		state->target_residency = cx->latency * latency_factor;
 
+		/* reinitialize this in case new states are added after boot */
+		state->power_usage = -1 - count;
+
 		state->flags = 0;
 		switch (cx->type) {
 			case ACPI_STATE_C1:
-- 
1.7.8.6


  reply	other threads:[~2012-10-19 21:52 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-16 22:39 [PATCH] cpuidle: reinitialize power_usage values when adding/removing C-states Julius Werner
2012-10-17 10:31 ` Daniel Lezcano
2012-10-17 10:44   ` Daniel Lezcano
2012-10-17 18:43   ` Julius Werner
2012-10-18  8:21     ` Daniel Lezcano
2012-10-19 21:50       ` Julius Werner [this message]
2012-10-20 21:50         ` [PATCH] acpi/cpuidle: " Daniel Lezcano
2012-10-22 17:13           ` Julius Werner
2012-10-22 17:21             ` Daniel Lezcano
2012-11-12 20:26           ` [RFC] cpuidle - remove the power_specified field in the driver Daniel Lezcano
2012-11-12 21:09             ` Julius Werner
2012-11-12 22:08               ` Daniel Lezcano
2012-11-18  8:40             ` Francesco Lavra
2012-11-18  9:17               ` Daniel Lezcano
2012-12-10 19:09                 ` Julius Werner
2012-12-10 22:41                   ` Rafael J. Wysocki
2012-12-11  9:46                   ` Daniel Lezcano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1350683446-8244-1-git-send-email-jwerner@chromium.org \
    --to=jwerner@chromium.org \
    --cc=akpm@linux-foundation.org \
    --cc=daniel.lezcano@linaro.org \
    --cc=deepthi@linux.vnet.ibm.com \
    --cc=g.trinabh@gmail.com \
    --cc=khilman@ti.com \
    --cc=len.brown@intel.com \
    --cc=linaro-dev@lists.linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rjw@sisk.pl \
    --cc=snanda@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).