Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Nov 2005 12:23:52 -0800
From:      Nate Lawson <nate@root.org>
To:        Bruno Ducrot <ducrot@poupinou.org>
Cc:        freebsd-stable@freebsd.org, freebsd-acpi@freebsd.org, freebsd-questions@freebsd.org
Subject:   Re: cpufreq and changing driver
Message-ID:  <438E0A58.60609@root.org>
In-Reply-To: <20051130201250.GC4713@poupinou.org>
References:  <da5cd1900511300337t22728ec8y@mail.gmail.com> <20051130133224.GA4713@poupinou.org> <da5cd1900511300553r40fcb922m@mail.gmail.com> <438DE9D0.6080107@root.org> <20051130201250.GC4713@poupinou.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Bruno Ducrot wrote:
> On Wed, Nov 30, 2005 at 10:05:04AM -0800, Nate Lawson wrote:
> 
>>Marco Calviani wrote:
>>
>>>Hi,
>>>
>>>2005/11/30, Bruno Ducrot <ducrot@poupinou.org>:
>>>
>>>
>>>>You have to load the cpufreq.ko module at boot.
>>>>Adding that line:
>>>>cpufreq_load = "YES"
>>>>to /boot/loader.conf
>>>>should be OK.
>>>
>>>
>>>I have that line in that position, and it seems working. The point is
>>>that i would like to change the driver and use (AFAIU) a better driver
>>>for my system (est).
>>>In particular i have:
>>>
>>>dev.cpu.0.%desc: ACPI CPU
>>>dev.cpu.0.%driver: cpu
>>>dev.cpu.0.%location: handle=\_PR_.CPU0
>>>dev.cpu.0.%pnpinfo: _HID=none _UID=0
>>>dev.cpu.0.%parent: acpi0
>>>
>>>Maybe i didn't understood well: but what i have to do to use the Intel
>>>Enhanced SpeedStep driver?
>>
>>You should send the full output of "sysctl dev.cpu".  There is no 
>>cpufreq driver (est, acpi_perf, or other) driver running.  Perhaps look 
>>at your dmesg to see if one is probing/attaching.
>>
>>If you are using acpi and load cpufreq.ko, you've got all the cpufreq 
>>drivers in one package.  The right one for your platform will 
>>automatically probe/attach.
>>
>>
>>>>powerd need some rework in order to get it working properly.  There
>>>>is one FreeBSD project on that subject if you are interrested.
>>>
>>>Well, thanks i'm very interested, although i'm not at all experienced
>>>in kernel programming....
>>>
>>>I'm not inside this issue, but it would not be possible to "emulate"
>>>the behaviour of the ondemand governor? (sorry if this question makes
>>>no sense)
>>
>>I have no idea what you mean by "on-demand governor".  The only 
>>automated control of cpu speed is either by the BIOS (which we can't 
>>control) or the TM/TM2 (and that one is heat-based, not load-based).
>>
> 
> 
> The ondemand governor is basically an implemation of the following
> algorithm:
> 
> There is a counter, say count.
> 
> at each given fixed intervall:
> if (idle less than a watermark) {
>     frequency full
>     reinitialise count to 10
> } else if (idle more than another watermark) {
>     decrement count
>     if count is 0 {
>         down one step the frequency
>     }
> else reinitilize count to 10
> 
>       
> Note that in the latter case, the down step is performed only
> after 10 such comparison.  In other word, intervall is ten times
> larger for the down side than the full frequency one.
> 
> This work well when you can perform, say, 20 to 50 transitions per
> second.  Otherwise, it is pretty bad.
> 

Send me a URL to the datasheet that says Intel implemented this.

That algorithm is basically what powerd does.  So just run powerd.

-- 
Nate



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?438E0A58.60609>