cx_lowest and CPU usage
Kevin Oberman
oberman at es.net
Thu Feb 14 13:19:56 PST 2008
> Date: Thu, 14 Feb 2008 22:13:38 +0200
> From: Andriy Gapon <avg at icyb.net.ua>
>
> on 14/02/2008 22:05 Kevin Oberman said the following:
> >> 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:
> >>
> >>> 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 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?
>
> 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.
It certainly blocks ever reaching C3 because of the continual activity
it generates, but I can see that it might also increase the interrupt
time while in C2. That said, I just did some testing on my laptop in C2
and, while I see a small increase in interrupt load, it is not anywhere
near what is being reported in this thread.
I did say it might be dumb. At least that part was right.
--
R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: oberman at es.net Phone: +1 510 486-8634
Key fingerprint:059B 2DDF 031C 9BA3 14A4 EADA 927D EBB3 987B 3751
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 224 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-acpi/attachments/20080214/0180dc63/attachment.pgp
More information about the freebsd-acpi
mailing list