All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andres Lagar Cavilla <andreslc@cs.toronto.edu>
To: xen-devel@lists.xensource.com
Subject: Re: live saving of domU
Date: Wed, 10 May 2006 15:14:26 -0400	[thread overview]
Message-ID: <44623B92.7050300@cs.toronto.edu> (raw)
In-Reply-To: <E1FdtIP-0000Id-VQ@host-192-168-0-1-bcn-london>

Anthony Liguori wrote

>Moreover, you cannot dump the state of a domain after a pause and expect 
>it to ever run again.
>
>Guests are aware of the physical addresses of the memory that's been 
>allocated to them.  Because of this, to save a domain's state in a 
>restorable way you need the guest to "canonicalize" itself.  The only 
>way to do this today is through a suspend operation which happens to be 
>a subop of shutdown.  Shutdowns are non-recoverable so you cannot use 
>this as a snapshotting mechanism.
>  
>
My understanding is that the guest only canonicalizes the store and 
console mfn's and places them on the shared info frame which is passed 
to the suspend hypercall. The rest of the canonicalizations are done by 
dom0 user-space code (xc_linux_save).
The guest never really shuts down: it issues the suspend hypercall and 
waits for it to return. This could happen months later when the domain 
is resumed :) The suspend hypercall executing in xen is the one that 
pauses all vcpus and kills the domain.
Is it feasible to use a different hypercall that pauses the domain but 
doesn't kill it, and once xc_linux_save is done checkpointing have it 
issue a dom0_op that unpauses the domain?

For filesystem corruption you're gonna have to hack up your own thing. 
Probably a CoW solution, where you begin a new "epoch" when resuming 
from the checkpoint.

Andres

>The closest thing you can achieve is a localhost migration.  There are 
>some caveats to this, of course.  The first is that you need to have as 
>much memory as the domain has available since you'll have a copy of the 
>domain created briefly while the migration takes place.  Migrations are 
>also quite intrusive since they involve tearing down and bringing up all 
>the devices.
>
>I've gotten a lot of requests for light weight checkpointing.  AFAIK, 
>noone is actually working on it though.
>

       reply	other threads:[~2006-05-10 19:14 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <E1FdtIP-0000Id-VQ@host-192-168-0-1-bcn-london>
2006-05-10 19:14 ` Andres Lagar Cavilla [this message]
2006-05-10 19:40   ` live saving of domU Anthony Liguori
2006-05-10 20:42     ` Andres Lagar Cavilla
2006-05-10 21:05       ` Anthony Liguori
2006-05-10 15:40 Jayesh Salvi
2006-05-10 16:32 ` Ewan Mellor
2006-05-10 16:59   ` Anthony Liguori
2006-05-10 19:06     ` Jayesh Salvi
2006-05-10 19:30       ` Anthony Liguori
2006-05-11  1:29         ` Jayesh Salvi
2006-05-11  1:32           ` Anthony Liguori
2006-05-11  8:25     ` Jacob Gorm Hansen
2006-05-10 19:00   ` Jayesh Salvi

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=44623B92.7050300@cs.toronto.edu \
    --to=andreslc@cs.toronto.edu \
    --cc=xen-devel@lists.xensource.com \
    /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.