Re: Is the clockevent resolution fine-grained enough?

From: Thomas Gleixner
Date: Fri Mar 02 2007 - 11:00:36 EST


On Thu, 2007-03-01 at 18:34 -0800, Marko Rauhamaa wrote:
> It would appear the new clockevent API has a one-nanosecond resolution.
> It certainly looks sufficiently fine-grained, but I'm afraid it's too
> coarse for some applications.

That's an academic exercise, or are you talking about some real world
hardware which runs Linux ?

> In our application, we need periodic clock interrupts at about 100 kHz.

With a stock kernel ?

> If the (programmable) frequency must be rounded to the nearest
> nanosecond, we have a cumulative error of
>
> 100,000 * 0.5 ns/s = 50 Âs/s
>
> We need to maintain the cumulative error within, say, 1 ms/day, or
> 11 ns/s. (The error is not measured against real time, but between
> different parts of our hardware that are run off of the same clock.)

clockevents is based on the monotonic system clock and depends on the
accuracy of that and the device which deliveres the interrupts.

> For our needs, we have built our own "clockevent" system that has a
> nominal one-femtosecond precision. The nanosecond resolution would be
> sufficient if there was a way to "nudge" the next interrupt by a
> nanosecond from the interrupt handler.

There is nothing to nugde. The clockevent subsystem operates on absolute
time, so there is no cummulative error, except you setup your timers
relative per event.

tglx


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