linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Marcelo Tosatti <mtosatti@redhat.com>
To: Jamie Lokier <jamie@shareable.org>
Cc: Eric B Munson <emunson@mgebm.net>,
	Anthony Liguori <anthony@codemonkey.ws>,
	avi@redhat.com, tglx@linutronix.de, mingo@redhat.com,
	hpa@zytor.com, arnd@arndb.de, riel@redhat.com,
	kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arch@vger.kernel.org, kvm-ppc@vger.kernel.org,
	aliguori@us.ibm.com, raharper@us.ibm.com,
	kvm-ia64@vger.kernel.org, Glauber Costa <glommer@gmail.com>,
	mjwolf@us.ibm.com
Subject: Re: [PATCH 0/4] Avoid soft lockup message when KVM is stopped by host
Date: Wed, 21 Sep 2011 14:43:17 -0300	[thread overview]
Message-ID: <20110921174317.GA21677@amt.cnet> (raw)
In-Reply-To: <20110920200351.GH6690@jl-vm1.vm.bytemark.co.uk>

On Tue, Sep 20, 2011 at 09:03:51PM +0100, Jamie Lokier wrote:
> Marcelo Tosatti wrote:
> > In case the VM stops for whatever reason, the host system is not
> > supposed to adjust time related hardware state to compensate, in an
> > attempt to present apparent continuous time.
> > 
> > If you save a VM and then restore it later, it is the guest
> > responsability to adjust its time representation.
> 
> If the guest doesn't know it's been stopped, then its time
> representation will be wrong until it finds out, e.g. after a few
> minutes with NTP, or even a seconds can be too long.
> 
> That is sad when it happens because it breaks the coherence of any
> timed-lease caching the guest is involved in.  I.e. where the guest
> acquires a lock on some data object (like a file in NFS) that it can
> efficiently access without network round trips (similar to MESI), with
> all nodes having agreed that it's coherent for, say, 5 seconds before
> renewing or breaking.  (It's just a way to reduce latency.)
> 
> But we can't trust CLOCK_MONOTONIC when a VM is involved, it's just
> one of those facts of life.  So instead the effort is to try and
> detect when a VM is involved and then distrust the clock.
> 
> (Non-VM) suspend/resume is similar, but there's usually a way to
> be notified about that as it happens.
> 
> -- Jamie

Thats pretty bad.

Time leased caching cannot be enabled in conjunction with save/restore
without VM involvement (the hypervisor management application must
notify the guest so it can drop such cache/writeback pending data).

But, if paravirtual clock is available (Linux VMs), it should be
possible to add an offset similarly to how suspend/resume is performed,
via a high priority channel, before resuming operation. We should look
into that possibility.

Thanks

  parent reply	other threads:[~2011-09-21 17:43 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-29 23:27 [PATCH 0/4] Avoid soft lockup message when KVM is stopped by host Eric B Munson
2011-08-29 23:27 ` [PATCH 1/4] Add flag to indicate that a vm was stopped by the host Eric B Munson
2011-08-29 23:27   ` Eric B Munson
2011-08-29 23:27 ` [PATCH 2/4] Add functions to check if the host has stopped the vm Eric B Munson
2011-08-29 23:27 ` [PATCH 3/4] Add generic stubs for kvm stop check functions Eric B Munson
2011-08-29 23:27   ` Eric B Munson
2011-08-29 23:27 ` [PATCH 4/4] Add check for suspended vm in softlockup detector Eric B Munson
2011-08-29 23:27   ` Eric B Munson
2011-08-30 12:26 ` [PATCH 0/4] Avoid soft lockup message when KVM is stopped by host Marcelo Tosatti
2011-08-30 14:12   ` Ryan Harper
2011-08-30 14:12     ` Ryan Harper
2011-08-30 14:35     ` Marcelo Tosatti
2011-08-30 14:43       ` Ryan Harper
2011-08-30 14:43         ` Ryan Harper
2011-08-30 18:30         ` Marcelo Tosatti
2011-08-30 18:30           ` Marcelo Tosatti
2011-08-30 16:37   ` Eric B Munson
2011-08-30 16:37     ` Eric B Munson
2011-08-30 18:36     ` Marcelo Tosatti
2011-08-30 18:36       ` Marcelo Tosatti
2011-08-30 23:50       ` emunson
2011-08-30 23:50         ` emunson
2011-09-01 19:24   ` Anthony Liguori
2011-09-01 19:24     ` Anthony Liguori
2011-09-01 20:27     ` emunson
2011-09-01 20:27       ` emunson
2011-09-09 13:29       ` Marcelo Tosatti
2011-09-09 13:29         ` Marcelo Tosatti
2011-09-13 20:49         ` Eric B Munson
2011-09-15 13:26           ` Marcelo Tosatti
2011-09-20 19:00             ` Eric B Munson
2011-09-20 19:00               ` Eric B Munson
2011-09-20 19:55               ` Marcelo Tosatti
2011-09-21 14:11                 ` Dave Hansen
2011-09-21 14:11                   ` Dave Hansen
2011-09-21 17:46                   ` Marcelo Tosatti
2011-09-21 17:46                     ` Marcelo Tosatti
2011-09-20 20:03             ` Jamie Lokier
2011-09-20 20:03               ` Jamie Lokier
2011-09-21 17:43               ` Marcelo Tosatti [this message]
2011-09-21 17:43                 ` Marcelo Tosatti

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110921174317.GA21677@amt.cnet \
    --to=mtosatti@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=anthony@codemonkey.ws \
    --cc=arnd@arndb.de \
    --cc=avi@redhat.com \
    --cc=emunson@mgebm.net \
    --cc=glommer@gmail.com \
    --cc=hpa@zytor.com \
    --cc=jamie@shareable.org \
    --cc=kvm-ia64@vger.kernel.org \
    --cc=kvm-ppc@vger.kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=mjwolf@us.ibm.com \
    --cc=raharper@us.ibm.com \
    --cc=riel@redhat.com \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).