All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marcelo Tosatti <mtosatti@redhat.com>
To: kvm-ia64@vger.kernel.org
Subject: Re: [PATCH 0/4] Avoid soft lockup message when KVM is stopped by host
Date: Wed, 21 Sep 2011 17:43:17 +0000	[thread overview]
Message-ID: <20110921174317.GA21677@amt.cnet> (raw)
In-Reply-To: <1314660435-23293-1-git-send-email-emunson@mgebm.net>

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


WARNING: multiple messages have this Message-ID (diff)
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 17:43:17 +0000	[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


WARNING: multiple messages have this Message-ID (diff)
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: 74+ 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 ` Eric B Munson
2011-08-29 23:27 ` Eric B Munson
2011-08-30 12:26 ` Marcelo Tosatti
2011-08-30 12:26   ` Marcelo Tosatti
2011-08-30 12:26   ` Marcelo Tosatti
2011-08-30 14:12 ` Ryan Harper
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:35   ` Marcelo Tosatti
2011-08-30 14:35   ` Marcelo Tosatti
2011-08-30 14:43 ` Ryan Harper
2011-08-30 14:43   ` Ryan Harper
2011-08-30 14:43   ` Ryan Harper
2011-08-30 16:37 ` Eric B Munson
2011-08-30 16:37   ` Eric B Munson
2011-08-30 16:37   ` Eric B Munson
2011-08-30 18:30 ` Marcelo Tosatti
2011-08-30 18:30   ` Marcelo Tosatti
2011-08-30 18:30   ` Marcelo Tosatti
2011-08-30 18:36 ` Marcelo Tosatti
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-08-30 23:50   ` emunson
2011-08-30 23:50   ` emunson
2011-09-01 19:24 ` [PATCH 0/4] Avoid soft lockup message when KVM is stopped by Anthony Liguori
2011-09-01 19:24   ` [PATCH 0/4] Avoid soft lockup message when KVM is stopped by host Anthony Liguori
2011-09-01 19:24   ` [PATCH 0/4] Avoid soft lockup message when KVM is stopped by Anthony Liguori
2011-09-01 20:27 ` [PATCH 0/4] Avoid soft lockup message when KVM is stopped by host emunson
2011-09-01 20:27   ` emunson
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-09 13:29   ` Marcelo Tosatti
2011-09-13 20:49 ` Eric B Munson
2011-09-13 20:49   ` Eric B Munson
2011-09-13 20:49   ` Eric B Munson
2011-09-15 13:26 ` Marcelo Tosatti
2011-09-15 13:26   ` Marcelo Tosatti
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:00   ` Eric B Munson
2011-09-20 19:55 ` Marcelo Tosatti
2011-09-20 19:55   ` Marcelo Tosatti
2011-09-20 19:55   ` Marcelo Tosatti
2011-09-20 20:03 ` Jamie Lokier
2011-09-20 20:03   ` Jamie Lokier
2011-09-20 20:03   ` Jamie Lokier
2011-09-21 14:11 ` [PATCH 0/4] Avoid soft lockup message when KVM is stopped by Dave Hansen
2011-09-21 14:11   ` [PATCH 0/4] Avoid soft lockup message when KVM is stopped by host Dave Hansen
2011-09-21 14:11   ` [PATCH 0/4] Avoid soft lockup message when KVM is stopped by Dave Hansen
2011-09-21 17:43 ` Marcelo Tosatti [this message]
2011-09-21 17:43   ` [PATCH 0/4] Avoid soft lockup message when KVM is stopped by host Marcelo Tosatti
2011-09-21 17:43   ` Marcelo Tosatti
2011-09-21 17:46 ` Marcelo Tosatti
2011-09-21 17:46   ` Marcelo Tosatti
2011-09-21 17:46   ` Marcelo Tosatti
  -- strict thread matches above, loose matches on Subject: below --
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 ` 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 ` Eric B Munson
2011-08-29 23:27 ` 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 ` 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-29 23:27 ` Eric B Munson

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=kvm-ia64@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.