Date: Thu, 14 Feb 2008 22:13:38 +0200 From: Andriy Gapon <avg@icyb.net.ua> To: Kevin Oberman <oberman@es.net> Cc: freebsd-acpi@freebsd.org Subject: Re: cx_lowest and CPU usage Message-ID: <47B4A0F2.2080404@icyb.net.ua> In-Reply-To: <20080214200536.49E214500F@ptavv.es.net> References: <20080214200536.49E214500F@ptavv.es.net>
next in thread | previous in thread | raw e-mail | index | archive | help
on 14/02/2008 22:05 Kevin Oberman said the following: >> From: Bengt Ahlgren <bengta@sics.se> >> Date: Thu, 14 Feb 2008 18:14:33 +0100 >> Sender: owner-freebsd-acpi@freebsd.org >> >> Andriy Gapon <avg@icyb.net.ua> writes: >> >>> on 11/02/2008 23:41 Andriy Gapon said the following: >>>> on 01/02/2008 17:37 Andriy Gapon said the following: >>>>>> Andriy Gapon wrote: >>>>>>> Report for 7.0-RC1 on quite old hardware: 440BX-based motherboard, >>>>>>> 450Mhz Pentium III (Katmai). >>> [snip] >>>>>>> There is a weird thing: if I change cx_lowest to C2 when the machine is >>>>>>> completely idle, top shows that CPU usage for interrupts immediately >>>>>>> jumps to almost 20%. Change cx_lowest to C1, CPU usage drops back to >>>>>>> almost 0%. >>>>>>> Is this normal ? >>> [snip] >>> >>> I mis-reported the issue. Actually the above behavior occurs if I >>> throttle CPU 50% (via acpi throttling) and I am not concerned about this >>> at all. >>> >>> 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???): >> >> [root@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? Yes. > 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. In my case this is a quite old desktop system. I've heard about the issue and saw comments in the code. I think that USB affects C3 state, mostly by preventing it from being really used while incurring some extra overhead. -- Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47B4A0F2.2080404>