[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] x86/hvm: Fix restart of RTC periodic timer with vpt_align=1



>>> On 07.11.13 at 08:32, Kouya Shimura <kouya@xxxxxxxxxxxxxx> wrote:
> The commit 58afa7ef "x86/hvm: Run the RTC periodic timer on a
> consistent time series" aligns the RTC periodic timer to the VM's boot time.
> However, it's aligned later again to the system time in create_periodic_time()
> with vpt_align=1. The next tick might be skipped.

I agree (read: ack), but will want to hear Tim's opinion in any case
before committing.

Jan

> Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx>
> Cc: Tim Deegan <tim@xxxxxxx>
> Cc: Keir Fraser <keir@xxxxxxx>
> Cc: Jan Beulich <jbeulich@xxxxxxxx>
> ---
>  xen/arch/x86/hvm/rtc.c |    5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/x86/hvm/rtc.c b/xen/arch/x86/hvm/rtc.c
> index d1a6848..cdedefe 100644
> --- a/xen/arch/x86/hvm/rtc.c
> +++ b/xen/arch/x86/hvm/rtc.c
> @@ -130,7 +130,10 @@ static void rtc_timer_update(RTCState *s)
>                  s->pt_code = period_code;
>                  period = 1 << (period_code - 1); /* period in 32 Khz cycles 
> */
>                  period = DIV_ROUND(period * 1000000000ULL, 32768); /* in ns 
> */
> -                delta = period - ((NOW() - s->start_time) % period);
> +                if ( v->domain->arch.hvm_domain.params[HVM_PARAM_VPT_ALIGN] )
> +                    delta = 0;
> +                else
> +                    delta = period - ((NOW() - s->start_time) % period);
>                  create_periodic_time(v, &s->pt, delta, period,
>                                       RTC_IRQ, NULL, s);
>              }
> -- 
> 1.7.9.5




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.