Re: Accessing monotonic clock from modules

From: Lee Revell
Date: Sat Jun 04 2005 - 16:49:46 EST


On Thu, 2005-06-02 at 08:21 -0600, Chris Friesen wrote:
> Arjan van de Ven wrote:
> > On Thu, 2005-06-02 at 07:46 -0600, Chris Friesen wrote:
>
> >>For ourselves we implemented an clock interface for a limited subset of
> >>architectures that provides a fast timestamp in kernel and userspace.
> >>
> >>Basically it has one call to return a 64-bit timestamp, and another call
> >>to tell you how fast the clock is ticking.
> >
> >
> > hmm this is tricky if cpufreq actually varies cpu speeds... you would
> > need to not cache the "how fast it ticks" for too long.
>
> Luckily we didn't need to deal with that.
>
> In order to use the fast versions with varying frequency you'd need some
> kind of notification to all users when the frequency changes.
>
> Alternately, on architectures where clock_gettime doesn't require the
> overhead of a syscall, you could just use that.

JACK does this too. Much of the code was just copied from the 2.4
kernel headers.

http://cvs.sourceforge.net/viewcvs.py/jackit/jack/config/cpu/

We have to do this because gettimeofday() is ~50 times slower than rdtsc
on x86.

In lieu of making gettimeofday() faster, the kernel events layer could
be used to notify userspace when the CPU speed changes.

Lee

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