Re: [Xen-devel] Re: [PATCH 3/5] x86/pvclock: add vsyscall implementation

From: Avi Kivity
Date: Tue Nov 03 2009 - 00:12:49 EST

On 11/02/2009 05:46 PM, Dan Magenheimer wrote:
I don't have any public data available for this DB usage,
Sorry, that doesn't explain anything.
Well for now just consider the DB usage as another use
of profiling. But one can easily draw scenarios where
a monotonic timestamp is also used to guarantee transaction

In this case we should provide a facility for this. Providing a global monotonic counter may be easier than providing a monotonic clock. Hence my question.

Search for "flight recorder". This feature is intended to
be enabled all the time, but with non-vsyscall gettimeofday
the performance impact is unacceptably high, so they are using
For profiling work fast timestamping is of course great, but surely
there is no monotonicity requirement?
Yes and no. Monotonicity is a poor substitute for a more
generic mechanism that might provide an indication that a
discontinuity has occurred (forward or backward); if an app
could get both the timestamp AND some kind of "continuity
generation counter" (basically a much more sophisticated
form of TSC_AUX that changes whenever the timestamp is
coming from a different source), perhaps all problems could be solved.

I doubt it. A discontinuity has occured, but what do we know about it? nothing.

I don't think we'll be able to provide monotonicity with vsyscall on
tsc-broken hosts, so we'll be limited to correcting the tsc frequency
after migration for good-tsc hosts.
True, though clock_gettime(CLOCK_MONOTONIC) can provide
the monotonicity where it is required.

We have that already. The question is how to implement it in a vsyscall.

Do not meddle in the internals of kernels, for they are subtle and quick to panic.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at