Linus Torvalds wrote:
>
> On Wed, 9 Oct 2002, george anzinger wrote:
> >
> > This patch, in conjunction with the "core" high-res-timers
> > patch implements high resolution timers on the i386
> > platforms.
>
> I really don't get the notion of partial ticks, and quite frankly, this
> isn't going into my tree until some major distribution kicks me in the
> head and explains to me why the hell we have partial ticks instead of just
> making the ticks shorter.
>
Well, the notion is to provide timers that have resolution
down into the micro seconds. Since this take a bit more
overhead, we just set up an interrupt on an as needed
basis. This is why we define both a high res and a low res
clock. Timers on the low res clock will always use the 1/HZ
tick to drive them and thus do not introduce any additional
overhead. If this is all that is needed the configure
option can be left off and only these timers will be
available.
On the other hand, if a user requires better resolution,
s/he just turns on the high-res option and incures the
overhead only when it is used and then only at timer expire
time. Note that the only way to access a high-res timer is
via the POSIX clocks and timers API. They are not available
to select or any other system call.
Making ticks shorter causes extra overhead ALL the time,
even when it is not needed. Higher resolution is not free
in any case, but it is much closer to free with this patch
than by increasing HZ (which, of course, can still be
done). Overhead wise and resolution wise, for timers, we
would be better off with a 1/HZ tick and the "on demand"
high-res interrupts this patch introduces.
-- George Anzinger george@mvista.com High-res-timers: http://sourceforge.net/projects/high-res-timers/ Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Tue Oct 15 2002 - 22:00:34 EST