Re: [PATCH] Dynamic tick for x86 version 050610-1

Tony Lindgren
2005-06-21T03:31:45Z

On Tue, Jun 21, 2005 at 11:49:20AM +1000, Benjamin Herrenschmidt wrote:
> On Mon, 2005-06-20 at 18:28 -0700, Tony Lindgren wrote:
> > On Sat, Jun 18, 2005 at 04:30:32PM +1000, Benjamin Herrenschmidt wrote:
> > >
> > > > I'm try to port it powerpc, Here is a patch.
> > > >
> > > > Port Dynamic Tick Timer to new platform is easy. :)
> > > > 1) Find the reprogram timer interface.
> > > > 2) do a hook in the idle function.
> > > >
> > > > That worked on my PowerBookG4 12'.
> >
> > Cool :)
> >
> > > Did you get a measurable gain on power consumption ?
> > >
> > > Last time I toyed with this, I didn't.
> >
> > Just dyntick alone probably does not do much for power savings. The
> > trick is to figure out what all can be turned off for the longer idle
> > periods. And try to make the idle periods longer by cutting down on
> > polling.
>
> I would have expected it to actually do increase savings due to avoiding
> the cost of bringing the CPU back from deep NAP mode too often. It's
> possible that my previous experiments were bogus in fact. It would be
> very useful to have some statistics on how long we _actually_ sleep, I
> supspect things like the network stack with all it's slow timer all
> kicking at slightly different times for example are screwing us up a
> little bit.

Yeah, and I've also noticed that my laptop does not stay in C2 mode, but
actually just spins around... Halt works though. Then the x86 keyboard
driver does polling if no keyboard is attached. And I believe netfilter
caused some polling too (unverified). And then of course any kind of
CPU meter apps keep polling...

One way to test the idle savings is to temporarily disable the timer
interrupt so the system stays in idle while measuring. That does not
help with the other devices though.

I've been thinking about implementing something that would show up the
worst pollers. Maybe then have a program called polltop? :)

Tony