Re: [PATCH] Track accurate idle time with tick_sched.idle_sleeptime

From: Ingo Molnar
Date: Sun Sep 02 2007 - 03:28:57 EST



* Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:

> Venki Pallipadi <venkatesh.pallipadi@xxxxxxxxx> writes:
> >
> > +void tick_nohz_stop_idle(int cpu)
> > +{
> > + struct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu);
> > +
> > + if (ts->idle_active) {
> > + ktime_t now, delta;
> > + now = ktime_get();
>
> That could be PM timer read costing thousands of cycles.
>
> For going into idle it's probably not a real problem, but it could
> seriously affect out of idle latencies.

at least the current out-of-idle code already does what amounts to a
PM-timer read when exiting from C2 or C3 mode. The
sched_clock_idle_sleep_event() and sched_clock_idle_wakeup_event()
callbacks utilize this already existing time information.

> You would really need a cheaper per CPU timer that doesn't stop in
> idle (which rules out sched_clock). It's all unfortunately quite
> messy.

yep.

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/