WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH 0/2] Improve hpet accuracy

To: Dave Winchell <dwinchell@xxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH 0/2] Improve hpet accuracy
From: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Date: Wed, 11 Jun 2008 09:30:04 +0100
Cc: dan.magenheimer@xxxxxxxxxx, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, Ben Guthro <bguthro@xxxxxxxxxxxxxxx>
Delivery-date: Wed, 11 Jun 2008 01:30:43 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <484EB654.4010801@xxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcjLnVjKlzEgyjeQEd2wAAAX8io7RQ==
Thread-topic: [Xen-devel] [PATCH 0/2] Improve hpet accuracy
User-agent: Microsoft-Entourage/11.4.0.080122
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