Re: Leaving the Desktop Market

From: Adrian Chadd <adrian_at_freebsd.org>
Date: Sat, 3 May 2014 22:29:32 -0700
On 3 May 2014 21:52, Allan Jude <freebsd_at_allanjude.com> wrote:
> On 2014-05-04 00:49, Adrian Chadd wrote:
>> Hi,
>>
>> Well, hardware got better. A lot better. I'm happy to leave speedstep
>> and throttling in there but teach powerd about using C-states and
>> limited frequency stepping if it's available.
>>
>> So, how about something like this:
>>
>> * if C states are available - let's just use C states and not step the
>> cpu frequency at all;
>> * if turboboost is available - enable that, and disable it if we
>> notice the CPU runs at the higher frequency for too long;
>
> If I recall correctly, the BIOS has settings that control and limit how
> long the CPU will run in 'turbo boost' mode

So, there's daemons running around in SMI or silicon or something else
that's doing dirty, dirty things with the target frequency per-core.
It seems to  monitor the core frequencies and temperatures to decide
what a suitable turboboost target is.

We could just leave it on and only switch it off (and go to P1 instead
of P0, or whatever the nomenclature is) after some long period of
time. Or drop to P1 if the cpu temperature is too hot (ie to coax it
to cool down quicker.)


>> * use cpufreq with some heuristics (like say, only step down to 2/3rd
>> the frequency if idle) - and document why that decision is made (eg on
>> CPU X, measuring Y at idle, power consumption was minimal at
>> frequency=Z.);
>> * make sure the lower frequencies and tcc kick in if a thermal cutoff
>> is reached;
>> * default to using lower Cx states out of the box if they're decided
>> to not be buggy. There are a few CPUs for which lower C states cause
>> problems but modernish hardware (say, nehalem and later) should be
>> fine.
>
> According to the wiki, in 9.x and onward there is code that is supposed
> to detect if the higher Cx states are usable, and not use them if they
> are not, but I do not know how well this works.

I'm not sure. I think those who care / know enough just put relevant
bits into /etc/rc.conf and /boot/loader.conf rather than flipping it
on by default.

I'm kind of tempted to just flip on Cmax by default and teach powerd
to not do cpufreq unless there's a thermal issue. Then take a step
back and see what happens.



-a
Received on Sun May 04 2014 - 03:29:34 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:48 UTC