Re: [RFC] [PATCH] cpufreq: allow full selection of default governors

Nish Aravamudan
2007-04-24T22:05:39Z

On 4/24/07, Dave Jones <davej@redhat.com> wrote:
> On Tue, Apr 24, 2007 at 09:03:23PM +0000, William Heimbigner wrote:
> > The following patches should allow selection of conservative, powersave, and
> > ondemand in the kernel configuration.
>
> This has been rejected several times already.
> Ondemand and conservative isn't a viable governor for all cpufreq
> implementations (ie, ones with high switching latencies).

This piques my curiosity -- some governors don't work with some
cpufreq implementations. Are those implementations in the kernel or in
userspace? If in the kernel, then perhaps there should be some
dependency expressed there in Kconfig between cpufreq implementation
and the available governors (not just whether the governor can be the
default or not). If that is already expressed, then the available
*default*s should also have their dependency so expressed.

I guess I don't see the point of *not* allowing users to select a
different governor as default at compile-time, if they can change it
at run-time?

The distros would simply not change the DEFAULT selection, but users
that build their own kernels could change it as they wanted.

I guess the issue is, if by allowing a different DEFAULT selection
(albeit one that wouldn't change for existing .configs, I assume), are
we going to break existing setups. It doesn't seem like we would,
*unless* the user goes and changes the default. And they went and
changed it to a default that doesn't work, but that they could easily
have checked doesn't work with their cpufreq implementation by
changing it at run-time in their current kernel. And they are root...

> Also, see the
> comment in the Kconfig a few lines above where you are adding this.

Are these governors unfixable? If

"it is not currently possible to set the other governors (such as
ondemand) as the default, since if they fail to initialise, cpufreq
will be left in an undefined state."

is true, presumably "userspace" and "performance" are so written so as
to not leave cpufreq in an undefined state? Could the same be done for
ondemand and powersave?

Just looking for more info -- feel free to just point me at the archives.

Thanks,
Nish