Re: [PATCH] i386 No Idle HZ aka dynticks 051221

From: Pavel Machek
Date: Mon Dec 26 2005 - 15:37:35 EST


Hi!

> I believe the reason why is that the T40 has an extra C state which
> only shows up if you are running on battery; if you are running on the
> AC mains, C4 disappears:

Stupid IBM. I've seen it appearing/disappearing, but did not work out
when.

No-C4-on-AC is bad -- if you just disconnect AC and walk away, you are
running without benefits of C4. Bad. Changing benchmarks depending on
you booting on AC or battery also look nasty.

>
> *C1: type[C1] promotion[C2] demotion[--] latency[001] usage[00000000] time[00000000000000000000]
> C2: type[C2] promotion[C3] demotion[C1] latency[001] usage[00000000] time[00000000000000000000]
> C3: type[C3] promotion[C4] demotion[C2] latency[085] usage[00000000] time[00000000000000000000]
> C4: type[C3] promotion[--] demotion[C3] latency[185] usage[00000000] time[00000000000000000000]
>
> With dyntick enabled, the laptop never enters the C4 state, but
> instead bounces back and forth between C2 and C3 (and I notice that we
> never enter C1 state, even when the CPU is completely pegged, but
> that's true with or without dyntick).

C1 is halt. If your cpu is fully loaded, you don't want to enter any
sleep state, not even C1.

> If dyntick is enabled, the laptop enters C4 state, which presumably is
> a deeper, more power saving state, and it appears power saving effects
> of dyntick is getting balanced off against the fact that C4 is never
> getting entered when it is enabled.

Can you boot on AC power, then go to battery power to verify this theory?

> Looking at acpi/processor_idle.c, there is all sorts of magic special
> cases code for the C2 and C3 states (both for promotion/demotion
> polcies, as well as what to do when idling in those particular
> states), and which doesn't exist for other states, such as C4.
> Presumably this explains why we are only never entering C1, and why
> dyntick enabled C4 never gets reached. What I don't understand is
> _why_ all of the magic is present for those two states, but not for
> any of the others.
>
> For future work when I have time, is to actually do some performance
> benchmarks; given that the power consumption doesn't appear to be
> changed either way with dyntick enabled or disabled, does the time
> needed to compile a kernel change significantly with or without
> dyntick?

It should not change at all. If your cpu is loaded, timers should tick
as usual, so that you can properly account user/system times of
processes etc.
Pavel
--
Thanks, Sharp!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/