public inbox for linux-pm@vger.kernel.org
 help / color / mirror / Atom feed
* cpuidle C-state accounting
@ 2009-05-19 16:25 Surinder P Singh
  2009-05-19 21:08 ` Woodruff, Richard
  0 siblings, 1 reply; 5+ messages in thread
From: Surinder P Singh @ 2009-05-19 16:25 UTC (permalink / raw)
  To: linux-pm

Hi,

I have a question about cpuidle C-state accounting in
cpuidle_idle_call() as implemented in kernel v2.6.29.

I understand it is possible for the target state entering callback to
return 0, if for some reason it could not enter the requested C-state
as decided by the governor. In this case, shouldn't the usage count be
updated conditionally to reflect the fact that the state may or may
not actually have been entered ? essentially, something like this:

--- cpuidle.c   2009-03-24 04:42:14.000000000 +0530
+++ cpuidle_modified.c  2009-05-19 11:39:58.000000000 +0530
@@ -86,7 +86,8 @@
                target_state = dev->last_state;

        target_state->time += (unsigned long long)dev->last_residency;
-       target_state->usage++;
+       if (dev->last_residency)
+               target_state->usage++;

        /* give the governor an opportunity to reflect on the outcome */
        if (cpuidle_curr_governor->reflect)


Cheers,
surinder

^ permalink raw reply	[flat|nested] 5+ messages in thread
* cpuidle C-state accounting
@ 2009-05-20  9:16 Surinder P Singh
  0 siblings, 0 replies; 5+ messages in thread
From: Surinder P Singh @ 2009-05-20  9:16 UTC (permalink / raw)
  To: linux-pm

> But there are state aborts.  In those cases residency is low or 0.

Indeed, its the residency=0 cases that the patch I sent in my last
mail attempts to fix. The idea being, not to increment
target_state->usage if dev->last_residency was 0, i.e. the state
(whether it was the governor recommended state or  safe_state or any
other state) was  not entered or used.

Cheers,
surinder

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-05-21 17:25 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-19 16:25 cpuidle C-state accounting Surinder P Singh
2009-05-19 21:08 ` Woodruff, Richard
2009-05-20  9:36   ` Surinder P Singh
2009-05-21 17:25     ` Aneesh Bhasin
  -- strict thread matches above, loose matches on Subject: below --
2009-05-20  9:16 Surinder P Singh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox