Re: [Lse-tech] [RFC][Patch 1/5] nanosecond timestamps and diffs

From: George Anzinger
Date: Mon Dec 12 2005 - 19:56:22 EST


john stultz wrote:
On Mon, 2005-12-12 at 20:00 +0000, Shailabh Nagar wrote:

john stultz wrote:

On Mon, 2005-12-12 at 19:31 +0000, Shailabh Nagar wrote:


Christoph Lameter wrote:


On Wed, 7 Dec 2005, Shailabh Nagar wrote:

+void getnstimestamp(struct timespec *ts)

There is already getnstimeofday in the kernel.

Yes, and that function is being used within the getnstimestamp() being proposed.
However, John Stultz had advised that getnstimeofday could get affected by calls to
settimeofday and had recommended adjusting the getnstimeofday value with wall_to_monotonic.

John, could you elaborate ?

I think you pretty well have it covered.

getnstimeofday + wall_to_monotonic should be higher-res and more
reliable (then TSC based sched_clock(), for example) for getting a
timestamp.

There may be performance concerns as you have to access the clock
hardware in getnstimeofday(), but there really is no other way for
reliable finely grained monotonically increasing timestamps.



Thanks, that clarifies. I guess the other underlying concern here would be whether these
improvements (in resolution and reliability) should be going into getnstimeofday()
itself (rather than creating a new func for the same) ? Or is it better to leave
getnstimeofday as it is ?


No, getnstimeofday() is very much needed to get a nanosecond grained
wall-time clock, so a new function is needed for the monotonic clock.

In my timeofday re-work I have used the name "get_monotonic_clock()" and
"get_monotonic_clock_ts()" for basically the same functionality
(providing a ktime and a timespec respectively). You might consider
naming it as such, but resolving these naming collisions shouldn't be
too difficult either way.

Indeed. Lets use a name with "monotonic" in it, please. And, possibly not "clock". How about get_nsmonotonic_time() or some such?


--
George Anzinger george@xxxxxxxxxx
HRT (High-res-timers): http://sourceforge.net/projects/high-res-timers/
-
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/