Re: [linux-pm] [PATCH] cpuidle: avoid singing capacitors



On Tue, 4 Mar 2008 11:01:28 -0800
"Pallipadi, Venkatesh" <venkatesh.pallipadi@xxxxxxxxx> wrote:


(On that subject, does anyone except Adam understand that
algorithm? Some comments wouldn't hurt...)

Prediction is based on cumulative time till "non expected wakeup". So,
prediction will come into play only when there are very short wakeups
due to "unexpected wakeups".


Ah, so the measured_us and elapsed_us are trying to keep track of time between non-timer wakeups?

So for now, I'm back to thinking that measuring the interval
between deep sleeps is the better approach. I could use some
ideas for a good clock source though. I haven't dug much
deeper than jiffies when it comes to kernel timekeeping.

I think best solution is to use get_last_residency that is already
there. If the last residency or expected_us is very low, you can avoid
deep idle states. That way you don't have to depend on jiffies being
updated at the time you are checking it.


I tried using predicted_us and last_measured_us, and those didn't work (see the #if 0 code in my last patch). And since cpuidle_get_last_residency() is part of predicted_us, I don't think it is reporting useful values.

Rgds
--
-- Pierre Ossman

Linux kernel, MMC maintainer http://www.kernel.org
PulseAudio, core developer http://pulseaudio.org
rdesktop, core developer http://www.rdesktop.org
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/