cx_lowest and CPU usage

Bengt Ahlgren bengta at sics.se
Fri Feb 15 01:15:56 PST 2008


"Kevin Oberman" <oberman at es.net> writes:

>> From: Bengt Ahlgren <bengta at sics.se>
>> Date: Thu, 14 Feb 2008 18:14:33 +0100
>> Sender: owner-freebsd-acpi at freebsd.org
>> 
>> Andriy Gapon <avg at icyb.net.ua> writes:

[...]

>> > C2 has even stranger effects.
>> > On almost idle system, with cx_lowest=C1, top reports about 0-2% user,
>> > 0% nice, 0-2% system, 1-2% interrupt, 94-98% idle.
>> > After changing cx_lowest to C2, I see the following: 0-2% user, 0% nice,
>> > 0-2% system, 94-98% interrupt, 1-2% idle.
>> 
>> I see a similar effect on my TP with Pentium-M when it is in C3 or C4,
>> but it's more in the order of 4% when in C3 and some 10-15% in C4.  I
>> think that the additional time accounted to interrupts is due to the
>> time it takes to wake the CPU up from the particular Cx-state.  My C3
>> takes 85 (us?? or cycles???):

(Just for the record: it's more like 6-9% using C4, not 10-15%.)

>> [root at P142 ~]# sysctl dev.cpu.0.cx_supported
>> dev.cpu.0.cx_supported: C1/1 C2/1 C3/85
>> 
>> [...]
>> 
>> > Just in case, here's a little bit of sysctl output:
>> > dev.cpu.0.freq: 448
>> > dev.cpu.0.freq_levels: 448/-1 224/-1
>> > dev.cpu.0.cx_supported: C1/0 C2/90
>> > dev.cpu.0.cx_lowest: C2
>> > dev.cpu.0.cx_usage: 1.71% 98.28%
>> 
>> With this slow CPU, a wakeup time of 90 from C2 could very well result
>> in this much interupt time.  It just barely manages to wake up,
>> execute the clock interrupt and go to sleep again before the next
>> clock interrupt.  What if you reduce HZ?
>
> Possible dumb question. Do you (either of you) have USB drivers in your
> kernel or loaded?
>
> This is just a shot in the dark, but I have seen weird things when I
> have USB drivers loaded and usually don't load them on my laptop
> until/unless I need them. At very least, USB kills the battery on my
> T43 a LOT faster.

Nope, no USB driver, since it prevents C3 or higher to be used.  I
also load it only when I need it.

I have not tried it, but reducing hz to 100 should save even more
battery when using C3/C4, since the system wakes up less often.

Bengt


More information about the freebsd-acpi mailing list