Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Aug 2004 10:07:17 -0700
From:      Nate Lawson <nate@root.org>
To:        Kevin Oberman <oberman@es.net>
Cc:        acpi@freebsd.org
Subject:   Re: Cx states not working on Dell Inspiron 8600 (Pentium M)
Message-ID:  <412E18C5.1010603@root.org>
In-Reply-To: <20040826163734.49EBF5D04@ptavv.es.net>
References:  <20040826163734.49EBF5D04@ptavv.es.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Kevin Oberman wrote:
>>Date: Thu, 26 Aug 2004 11:42:08 +0200
>>From: Ulrich Spoerlein <q@uni.de>
>
>>Hello,
>>
>>I've been running CURRENT on this laptop since the gcc 3.4 import and
>>the Cx states don't work (AFAICS).
>>
>>dmesg, kernel config, DSDT and ASL can be obtained from
>>http://www.galgenberg.net/~q/freebsd
>>
>>No matter if I pull the AC-plug or not, I get this:
>>hw.acpi.cpu.throttle_max: 8
>>hw.acpi.cpu.throttle_state: 8
>>hw.acpi.cpu.cx_supported: C1/1 C2/1 C3/85 C4/185
>>hw.acpi.cpu.cx_lowest: C4
>>hw.acpi.cpu.cx_usage: 0.00% 100.00% 0.00% 0.00%
>>
>>As a result the laptop runs rather hot and the battery life is limited
>>(compared to Windows)
>>
>>Am I using the wrong semantics for cx_lowest or throttle_max?
> 
> 
> The cx_usage is limited to C1 or C2 if USB is loaded. It's polling of
> the bus for changes prevents the state from dropping to anything really
> useful. If you don't always need USB, build a kernel without it and load
> it as required.

Good summary.  Playing sound also causes BM activity although just 
loading the sound driver is fine.

> What do you have in your rc.conf? The default for economy_throttle_state
> is "HIGH" which is probably not what you want. Not knowing how fast your
> CPU is or how you use it, I don't know where you want to set it.  
> 
> Try experimenting with:
> sysctl hw.acpi.cpu.throttle_state=n
> setting 'n' to values in the range of 1-8 and see where you think it's
> reasonable to get work done without draining the battery. I use:
> economy_throttle_state=4. Any lower and things start to get painful for
> me. 

Yes, that's why the default values are HIGH for both on/offline. 
Throttling has a pretty big effect on performance (whereas Cx idling is 
almost completely transparent).  I didn't want to give users a bad 
impression of FreeBSD performance and figured users could set it lower 
as necessary.

Once I get cpufreq in (after 5.3), we'll have two additive ways of 
adjusting cpu performance.  For instance, if you have 2 throttling 
levels (100%, 50%) and two perf states (500 and 1500 mhz), you'll 
actually have 4 values:  1500, 750, 500, 250.  This is all set with a 
single sysctl.

-Nate



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?412E18C5.1010603>