Re: [PATCH] clockevents: avoid unnecessary reprograming of eventtimer

From: Ingo Molnar
Date: Fri Feb 13 2009 - 04:55:28 EST



* Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:

> On Fri, 13 Feb 2009, Ingo Molnar wrote:
> > > + if (ktime_equal(dev->next_event, expires))
> > > + return 0;
> > > +
> >
> > Hm, given that a good high-res source has nanoseconds resolution,
> > what's the chance of this optimization triggering in practice?
> > Near zero i think - unless we trigger useless reprogramming without
> > having added or removed any new timers - but then we should
> > concentrate on analyzing the reason for that redundant reprogramming.
> >
> > Does it trigger often for you?
>
> The only point where this should trigger is when we come out of C2/C3
> and switch the local APIC timer back on. There we reload the
> next_event which was discarded in the hardware before we entered C2/C3
> and switched to the broadcast timer. So this change would prevent the
> rearming of the local APIC after coming out of C2/C3 and probably give
> us some new C-State related headaches.

yes, that was my other thought. Albeit arguably the CE code should
set next_event to -1 or so when suspending, out of caution, right?

Ingo
--
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/