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

William Heimbigner
2007-04-27T13:40:39Z

On Fri, 27 Apr 2007, Dominik Brodowski wrote:
> On Fri, Apr 27, 2007 at 02:09:57AM -0400, Dave Jones wrote:
>> On Thu, Apr 26, 2007 at 09:54:10PM -0400, Dominik Brodowski wrote:
>> > On Tue, Apr 24, 2007 at 08:03:27PM -0400, Dave Jones wrote:
>> >> On Tue, Apr 24, 2007 at 03:05:36PM -0700, Nish Aravamudan wrote:
>> >> > 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
>> >>
>> >> it can't be solved that easily. powernow-k8 for example is fine to
>> >> use with ondemand on newer systems, where the latency is low.
>> >> On older models however, it isn't.
>> >>
>> >> >> Also, see the
>> >> >> comment in the Kconfig a few lines above where you are adding this.
>> >> >
>> >> > Are these governors unfixable? If
>> >>
>> >> tbh, I've forgotten the original issues that caused the comment
>> >> to be placed there. Dominik ?
>> >
>> > Not unfixable, but: cpufreq is currently[*] built around the assumption that
>> > at least one governor is correctly initialized or can be brought to work
>> > when a CPU is registered with the cpufreq core.
>>
>> It would have to take something fairly spectacular though for performance or
>> powersave to fail registration. Can you remember why we chose not to allow those?
>
> performance _is_ allowed; powersave would be possible -- but then those who
> accidentally enable it on elanfreq might wait 100 times as long for the
> system to boot, with gx-suspmod it might even be 255 times as long -- okay,
> by default it's just 20 times as long, but still...
>
> Dominik
>

People should be smart enough to realize what "powersave" would imply... or at
least read the help for it; again, we wouldn't have the "default default
governor" be powersave, it would be performance, and they could choose
powersave if they wanted to.

Also, what of the conservative governor? I understand now some of the problems
that could arise with ondemand, but conservative doesn't rely on low-latency
transitions, and seems no riskier than performance or powersave. In fact,
conservative would probably be the most useful default governor available for a
laptop system.

For now, I propose allowing a default governor of powersave; allowing
conservative while being tagged experimental, and possibly, but not likely,
allowing ondemand, tagged as experimental.

William Heimbigner
icxcnika@mar.tar.cc