Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Mar 2009 13:34:33 +0300
From:      Alexander Motin <mav@FreeBSD.org>
To:        Dominic Fandrey <kamikaze@bsdforen.de>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: powerd broken
Message-ID:  <49CF4EB9.60108@FreeBSD.org>
In-Reply-To: <49CF2F8D.6000905@bsdforen.de>
References:  <1238293386.00093672.1238281804@10.7.7.3> <49CF0803.1070505@FreeBSD.org> <49CF2F8D.6000905@bsdforen.de>

next in thread | previous in thread | raw e-mail | index | archive | help
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@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49CF4EB9.60108>