Re: [RFC V1] cpuidle: add idle routine registration and cleanup pm_idlepointer

From: Arjan van de Ven
Date: Wed Oct 20 2010 - 16:48:05 EST


On 10/20/2010 12:47 PM, Venkatesh Pallipadi wrote:
On Wed, Oct 20, 2010 at 12:44 PM, Arjan van de Ven
<arjan@xxxxxxxxxxxxxxx> wrote:
On 10/20/2010 12:40 PM, Vaid
you ALWAYS have at least 2 idle handling states. The platform idle
one and the generic busy waiting one.
the later is needed for "I want absolutely 0 latency" cases.
Some special overrides like idle=poll should handle this case even if
cpuidle and related registration mechanism is compiled out. The point
is that we need some flexibility even if the full framework is not
included.
this is not idle=poll

this is an (privileged) app or driver, at runtime, requesting a 0 usec max
latency for a short or long period of time.


Making current cpuidle as default in kernel
not "in the kernel" but "for x86".
You're solving an x86 problem here, right?
(the pm_idle is an x86 only problem. other architectures should be
able to keep doing what they are doing)
For x86, lets solve it by going to cpuidle period... and if Andi can
find some bloat in cpuidle, lets see if the fat can be trimmed.
Ok, you are suggesting that for x86 lets move cpuidle in kernel
always, while it can be an optional module for other archs as it
stands today. We can slim down the cpuidle from current 7K or atleast
split some parts like governors as modules if needed.
governors as modules is a total pain. modules don't solve the problem.
really. it's still code you need.
we have two governors today, menu and ladder
menu is best on anything that is tickless
ladder is useless on any tickless kernel, and likely not better than menu on
non-tickless.
that's it.
It will be good to have other archs also follow the same cpuidle
I don't think they have to be modules. There can be a CPUIDLE_LITE
which deCONFIG entire governor.c and individual governors (and
probably sysfs stuff as well) for archs that can only use one state at
any time, but still want to do config or runtime detection of one
state and register that state.

there is no such case though; you always have at least 2 options!
(the hardware equivalent of "hlt" and the polling option)
--
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/