qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v4 0/6] save/restore on Xen
@ 2012-01-20 17:20 Stefano Stabellini
  2012-01-20 17:21 ` [Qemu-devel] [PATCH v4 1/6] vl.c: do not save the RAM state when Xen is enabled Stefano Stabellini
                   ` (6 more replies)
  0 siblings, 7 replies; 48+ messages in thread
From: Stefano Stabellini @ 2012-01-20 17:20 UTC (permalink / raw)
  To: qemu-devel@nongnu.org
  Cc: Jan Kiszka, xen-devel@lists.xensource.com, Avi Kivity,
	Stefano Stabellini

Hi all,
this is the fourth version of the Xen save/restore patch series.
We have been discussing this issue for quite a while on #qemu and
qemu-devel:


http://marc.info/?l=qemu-devel&m=132346828427314&w=2
http://marc.info/?l=qemu-devel&m=132377734605464&w=2


A few different approaches were proposed to achieve the goal
of a working save/restore with upstream Qemu on Xen, however after
prototyping some of them I came up with yet another solution, that I
think leads to the best results with the less amount of code
duplications and ugliness.
Far from saying that this patch series is an example of elegance and
simplicity, but it is closer to acceptable anything else I have seen so
far.

What's new is that Qemu is going to keep track of its own physmap on
xenstore, so that Xen can be fully aware of the changes Qemu makes to
the guest's memory map at any time.
This is all handled by Xen or Xen support in Qemu internally and can be
used to solve our save/restore framebuffer problem.

>From the Qemu common code POV, we still need to avoid saving the guest's
ram when running on Xen, and we need to avoid resetting the videoram on
restore (that is a benefit to the generic Qemu case too, because it
saves few cpu cycles).


Changes in v4:

- keep a record of the MemoryRegion's name on xenstore;

- print a message when avoiding a memory allocation on restore.


This is the list of patches with a diffstat:

Anthony PERARD (4):
      vl.c: do not save the RAM state when Xen is enabled
      xen mapcache: check if memory region has moved.
      cirrus_vga: do not reset videoram on resume
      xen: change memory access behavior during migration.

Stefano Stabellini (2):
      Set runstate to INMIGRATE earlier
      xen: record physmap changes to xenstore

 hw/cirrus_vga.c |    9 +++-
 vl.c            |    8 ++-
 xen-all.c       |  112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 xen-mapcache.c  |   22 +++++++++-
 xen-mapcache.h  |    9 +++-
 5 files changed, 147 insertions(+), 13 deletions(-)


git://xenbits.xen.org/people/sstabellini/qemu-dm.git saverestore-4

Cheers,

Stefano

^ permalink raw reply	[flat|nested] 48+ messages in thread
* [Qemu-devel] [PATCH v4 0/6] save/restore on Xen
@ 2012-01-25 13:04 Stefano Stabellini
  2012-01-31 15:50 ` Stefano Stabellini
  0 siblings, 1 reply; 48+ messages in thread
From: Stefano Stabellini @ 2012-01-25 13:04 UTC (permalink / raw)
  To: qemu-devel@nongnu.org
  Cc: Jan Kiszka, xen-devel@lists.xensource.com, Avi Kivity,
	Stefano Stabellini

Hi all,
this is the fourth version of the Xen save/restore patch series.
We have been discussing this issue for quite a while on #qemu and
qemu-devel:


http://marc.info/?l=qemu-devel&m=132346828427314&w=2
http://marc.info/?l=qemu-devel&m=132377734605464&w=2


The principal changes in the this version are:

- Following Anthony's suggestion I have introduced a new monitor command
to save the non-ram device state to file.

- I have also removed the hack not to reset the cirrus videoram on
restore, because it turns out that the videoram doesn't need to be
reset in the reset handler at all (tested on Win2K, where the problem
was found in the first place).



This is the list of patches with a diffstat:

Anthony PERARD (2):
      xen mapcache: check if memory region has moved.
      xen: do not allocate RAM during INMIGRATE runstate

Stefano Stabellini (4):
      cirrus_vga: do not reset videoram
      Introduce "save_devices"
      xen: record physmap changes to xenstore
      Set runstate to INMIGRATE earlier

 block-migration.c |    2 +-
 hmp-commands.hx   |   14 +++++++
 hw/cirrus_vga.c   |    4 --
 hw/hw.h           |    1 +
 qmp-commands.hx   |   17 +++++++++
 savevm.c          |   72 ++++++++++++++++++++++++++++++++++++-
 sysemu.h          |    1 +
 vl.c              |    4 +-
 xen-all.c         |  104 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 xen-mapcache.c    |   22 ++++++++++--
 xen-mapcache.h    |    9 ++++-
 11 files changed, 235 insertions(+), 15 deletions(-)


git://xenbits.xen.org/people/sstabellini/qemu-dm.git saverestore-4

Cheers,

Stefano

^ permalink raw reply	[flat|nested] 48+ messages in thread

end of thread, other threads:[~2012-02-21 10:17 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-20 17:20 [Qemu-devel] [PATCH v4 0/6] save/restore on Xen Stefano Stabellini
2012-01-20 17:21 ` [Qemu-devel] [PATCH v4 1/6] vl.c: do not save the RAM state when Xen is enabled Stefano Stabellini
2012-01-23 15:58   ` Anthony Liguori
2012-01-20 17:21 ` [Qemu-devel] [PATCH v4 2/6] xen mapcache: check if memory region has moved Stefano Stabellini
2012-01-20 17:21 ` [Qemu-devel] [PATCH v4 3/6] Set runstate to INMIGRATE earlier Stefano Stabellini
2012-01-20 17:21 ` [Qemu-devel] [PATCH v4 4/6] cirrus_vga: do not reset videoram on resume Stefano Stabellini
2012-01-20 17:21 ` [Qemu-devel] [PATCH v4 5/6] xen: record physmap changes to xenstore Stefano Stabellini
2012-01-20 17:21 ` [Qemu-devel] [PATCH v4 6/6] xen: change memory access behavior during migration Stefano Stabellini
2012-01-20 17:59 ` [Qemu-devel] [PATCH v4 0/6] save/restore on Xen Jan Kiszka
2012-01-23 10:47   ` Stefano Stabellini
2012-01-23 11:50     ` Jan Kiszka
2012-01-23 11:59       ` Stefano Stabellini
2012-01-23 12:10         ` Jan Kiszka
2012-01-23 14:46           ` Stefano Stabellini
2012-01-23 15:46             ` Jan Kiszka
2012-01-23 16:16               ` Stefano Stabellini
2012-01-23 16:22                 ` Anthony Liguori
2012-01-23 17:13                 ` Jan Kiszka
2012-01-23 17:18                   ` Anthony Liguori
2012-01-23 17:31                     ` Jan Kiszka
2012-01-23 17:36                       ` Anthony Liguori
2012-01-24 10:21                         ` Gerd Hoffmann
2012-01-24 11:13                           ` Avi Kivity
2012-01-24 12:00                             ` Stefano Stabellini
2012-01-24 15:39                               ` Avi Kivity
2012-01-24 13:18                             ` Anthony Liguori
2012-01-24 15:43                               ` Avi Kivity
2012-01-24 13:25                           ` Anthony Liguori
2012-01-24 15:47                             ` Avi Kivity
2012-01-24 11:10                     ` Avi Kivity
2012-01-24 11:27                       ` Paolo Bonzini
2012-01-24 11:32                         ` Avi Kivity
2012-01-24 11:44                           ` Paolo Bonzini
2012-01-24 15:48                             ` Avi Kivity
2012-01-24 11:52                           ` Stefano Stabellini
2012-01-24 13:15                             ` Anthony Liguori
2012-01-24 13:14                       ` Anthony Liguori
2012-01-24 15:56                         ` Avi Kivity
2012-01-24 17:51                           ` Anthony Liguori
2012-01-23 16:00     ` Anthony Liguori
2012-01-23 16:46       ` Stefano Stabellini
2012-01-23 16:54         ` Anthony Liguori
2012-01-23 17:05           ` Stefano Stabellini
2012-01-23 17:07             ` Anthony Liguori
  -- strict thread matches above, loose matches on Subject: below --
2012-01-25 13:04 Stefano Stabellini
2012-01-31 15:50 ` Stefano Stabellini
2012-02-13 12:20   ` Stefano Stabellini
2012-02-21 10:22     ` Stefano Stabellini

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).