[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 0/2] Improve hpet accuracy
I implemented the monotonicity guarantee within hvm_get_guest_time(). We don't need or want get_s_time_mono(). -- Keir On 10/6/08 18:13, "Dave Winchell" <dwinchell@xxxxxxxxxxxxxxx> wrote: > Keir, Dan: > > Although I plan to break up the patch, etc., I'm posting > this fix to the patch for anyone who might be interested. > > thanks, > Dave > # This is a BitKeeper generated diff -Nru style patch. > # > # ChangeSet > # 2008/06/10 12:20:48-04:00 winchell@xxxxxxxxxxxxxxxxxxxxxxxxxx > # vi-patch: xen-hpet > # > # Bug Id: 6057 > # > # Reviewed by: Robert > # > # SUMMARY: Fix wrap issue in monotonic s_time(). > # > # xen/arch/x86/time.c > # 2008/06/10 12:20:48-04:00 winchell@xxxxxxxxxxxxxxxxxxxxxxxxxx +3 -2 > # Fix wrap issue in monotonic s_time(). > # > diff -Nru a/xen/arch/x86/time.c b/xen/arch/x86/time.c > --- a/xen/arch/x86/time.c 2008-06-10 13:08:39 -04:00 > +++ b/xen/arch/x86/time.c 2008-06-10 13:08:39 -04:00 > @@ -534,7 +534,7 @@ > u64 count; > unsigned long flags; > struct cpu_time *t = &this_cpu(cpu_time); > - u64 tsc, delta; > + u64 tsc, delta, diff; > s_time_t now; > > if(hpet_main_counter_phys_avoid_hdw || !hpet_physical_inited) { > @@ -542,7 +542,8 @@ > rdtscll(tsc); > delta = tsc - t->local_tsc_stamp; > now = t->stime_local_stamp + scale_delta(delta, &t->tsc_scale); > - if(now > get_s_time_mon.last_ret) > + diff = (u64)now - (u64)get_s_time_mon.last_ret; > + if((s64)diff > (s64)0) > get_s_time_mon.last_ret = now; > else > now = get_s_time_mon.last_ret; _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |