powerd broken

Alexander Motin mav at FreeBSD.org
Sun Mar 29 03:34:38 PDT 2009


Dominic Fandrey wrote:
> Alexander Motin wrote:
>> Dominic Fandrey wrote:
>>> Since I updated to the 7.2 prerelease, powerd is broken.
>>>
>>>> uname -a
>>> FreeBSD mobileKamikaze.norad 7.2-PRERELEASE FreeBSD 7.2-PRERELEASE #0:
>>> Tue Mar 24 07:57:30 CET 2009    
>>> root at mobileKamikaze.norad:/usr/obj/HP6510b/amd64/usr/src/sys/HP6510b 
>>> amd64
>>>
>>> It increases the CPU frequency very aggressively in adaptive mode.
>>> That means full speed with a system load below 1%. I have to use the
>>> following nonsensical powerd_flags to make it work sensibly:
>>> -a adaptive -b minimum -i 95 -r 99
>>>
>>> The system is a Core2 Duo, if that is of any help.
>> Run powerd in foreground with -v option to get it's work trace. If it
>> reaches full speed, there must be some reason to do it.
>>
>> Updated powerd indeed may behave a bit more aggressively (especially in
>> new hiadaptive mode, default for AC power). But it was made several
>> months ago and nobody have complained yet. I am personally using it on
>> 8-CURRENT on my Core2Duo laptop every day.
>>
> 
> # grep powerd /etc/rc.conf
> powerd_enable="YES"
> #powerd_flags="-a adaptive -b minimum -i 95 -r 99"
> powerd_flags="-a adaptive -b minimum -v"
> # rcrestart powerd 
> powerd not running?
> Starting powerd.
> powerd: using sysctl for AC line status
> powerd: using devd for AC line status
> load  77%, current freq 2400 MHz ( 0), wanted freq 2400 MHz
> load  74%, current freq 2400 MHz ( 0), wanted freq 2400 MHz
> load  78%, current freq 2400 MHz ( 0), wanted freq 2400 MHz
> load  79%, current freq 2400 MHz ( 0), wanted freq 2400 MHz
> load  65%, current freq 2400 MHz ( 0), wanted freq 2400 MHz
> load  72%, current freq 2400 MHz ( 0), wanted freq 2400 MHz
> load  76%, current freq 2400 MHz ( 0), wanted freq 2400 MHz
> ...
> 
> The real load was between 3 and 7 % while these were recorded.
> 
> Note that I use the normal/old adaptive mode.

Reason is not in algorithm. Reason is in reporting so high load 
(65-79%). Run this test please at the same conditions to understand 
what's going on there:

sysctl kern.cp_times && sleep 1 && \
sysctl kern.cp_times && sleep 1 && \
sysctl kern.cp_times && sleep 1 && \
sysctl kern.cp_times

-- 
Alexander Motin


More information about the freebsd-stable mailing list