Re: [PATCH] Dynamic tick for x86 version 050609-2

From: Tony Lindgren
Date: Mon Jun 13 2005 - 13:28:21 EST


* Srivatsa Vaddagiri <vatsa@xxxxxxxxxx> [050613 10:09]:
> Hi Tony,
> I went through the dynamic-tick patch on your website
> (patch-dynamic-tick-2.6.12-rc6-050610-1) and was having some
> questions about it:
>
> 1. dyn_tick->skip is set to the number of ticks that have
> to be skipped. This is set on the CPU which is the last
> (in online_map) to go idle and is based on when that
> CPU's next timer is set to expire.
>
> Other CPUs also seem to use the same interval
> to skip ticks. Shouldnt other CPU check their nearest timer
> rather than blindly skipping dyn_tick->skip number of ticks?

Probably, unless the wake-up of the first CPU will also wake up the
rest.

>
> 2. reprogram_apic_timer seems to reprogram the count-down
> APIC timer (APIC_TMICT) with an integral number of apic_timer_val.
> How accurate will this be? Shouldnt this take into account
> that we may not be reprogramming the timer on exactly "jiffy"
> boundary?

The timer reprogramming functions should be converted to use usecs. We just
currently get the time in jifies from next_timer_interrupt().

> 3. Is there any strong reason why you reprogram timers only when
> _all_ CPUs are idle?

I don't know this for sure. It seemed like the safest way to go for now.

> 4. In what aspects you think does your patch differ from VST (other
> than not relying on HRT!)?

Dyntick uses next_timer_interrupt(), which is already part of the mainline
kernel. It also works with PIT + PM timer or TSC.

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