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

Re: [Xen-devel] [PATCH v3 for 4.5] x86/viridian: Freeze time reference counter when domain is paused

On Tue, 2014-10-21 at 16:22 +0100, Jan Beulich wrote:
> >>> On 16.10.14 at 11:21, <paul.durrant@xxxxxxxxxx> wrote:
> > In XenServer system test it has become apparent that versions of Windows
> > that make use of the time reference counter enlightenment cannot cope with
> > large jumps forward in the value read from the MSR. Specifically,
> > suspending a very large domain took approx. 45 minutes to complete and
> > when the domain was resumed it was discovered that the WMI (Windows
> > Management Instrumentation) service had hung.
> > 
> > The reason a large jump forward is seen by the guest is that, when a guest
> > is suspended, the guest stops running when the SCHEDOP_suspend hypercall is
> > made, however the MSR value essentially keeps incrementing until the
> > tool-stack issues DOMCTL_gethvmcontext.
> > 
> > This patch adds code to freeze the value of the time reference counter
> > on domain pause and 'thaw' it on domain unpause, but only thaw it if the
> > domain is not shutting down. The absolute value of the counter is then
> > saved in the viridian domain context record. This prevents the guest OS
> > from experiencing large jumps in the value of the MSR and has been shown
> > to reliably fix the problem with WMI.
> > 
> > Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
> ARM maintainers: I was about to commit this patch when I noticed
> that there still was no ack from any of you for this (trivial) addition:

Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

Xen-devel mailing list



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