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

Avi Kivity
2009-10-29T12:14:19Z

On 10/28/2009 07:47 PM, Jeremy Fitzhardinge wrote:
>> Much better to have an API for this. Life is hacky enough already.
>>
> My point is that if an app cares about property X then it should just
> measure property X. The fact that gettimeofday is a vsyscall is just an
> implementation detail that apps don't really care about. What they care
> about is whether gettimeofday is fast or not.
>

But we can not make a reliable measurement.

> If the environment has such unstable timing that the effect can't be
> measured, then it is moot whether its a vsyscall or not (but in that
> case its almost certainly better to use the standard API rather than
> trying to roll your own timesource with rdtsc).
>

If you're interested in gettimeofday() for a global monotonic counter
you can fall back to atomic_fetch_and_add() which will be faster than a
syscall even on large systems. Maybe we should provide a vsyscall for
global monotonic counters and implement it using a atomics or tsc
instead of these hacks (I'm assuming here that the gettimeofday() calls
are used to implement an atomic counter - are they?)

--
error compiling committee.c: too many arguments to function