Messages in this thread | | | Date | Fri, 23 Apr 2010 12:34:45 +0300 | From | Avi Kivity <> | Subject | Re: [PATCH 1/5] Add a global synchronization point for pvclock |
| |
On 04/23/2010 04:44 AM, Zachary Amsden wrote: > Or apply this patch. > time-warp.patch > > > diff -rup a/time-warp-test.c b/time-warp-test.c > --- a/time-warp-test.c 2010-04-15 16:30:13.955981607 -1000 > +++ b/time-warp-test.c 2010-04-15 16:35:37.777982377 -1000 > @@ -91,7 +91,7 @@ static inline unsigned long long __rdtsc > { > DECLARE_ARGS(val, low, high); > > - asm volatile("cpuid; rdtsc" : EAX_EDX_RET(val, low, high)); > + asm volatile("cpuid; rdtsc" : EAX_EDX_RET(val, low, high) :: "ebx", "ecx"); > >
Plus, replace cpuid by lfence/mfence. cpuid will trap.
-- Do not meddle in the internals of kernels, for they are subtle and quick to panic.
| |