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

[Xen-devel] [PATCH v4 --for 4.6 COLOPre 00/25] Prerequisite patches for COLO



This patchset is Prerequisite for COLO feature. Refer to:
http://wiki.xen.org/wiki/COLO_-_Coarse_Grain_Lock_Stepping

This patchse is based on Andrew Cooper's Libxl migration v4.1:
  
http://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=shortlog;h=refs/heads/libxl-migv2-v4.1

In this version, I moved some of the COLO specific patches down to the COLO
main series, so most patches of this series are refactoring and can be applied
first.

I've done some simple test. Both Remus and normal migration work after apply
this patchset. The patch to fix Remus on migration v2 will be sent later as
a seperate patch.

You can also get the patchset from:
  https://github.com/macrosheep/xen/tree/colo-v8

v3->v4:
 - Rebased to the latest migration v2 branch
 - Addressed comments from last round

v2->v3:
 - Merge '[PATCH v2 0/6] Misc cleanups for libxl' into this patchset
   for easy review
 - Addressed review comments
 - Add back channel to libxc
 - Introduce should_checkpoint callback
 - Introduce DIRTY_BITMAP record on libxc side
 - Introduce COLO_CONTEXT record on libxl side
 - Ported to Libxl migration v2

v1->v2:
 - Rebased to [PATCH v2 0/6] Misc cleanups for libxl
 - Add a bugfix for the error handling of process_record


Wen Congyang (2):
  tools/libxc: support to resume uncooperative HVM guests
  tools/libxl: Add back channel to allow migration target send data back

Yang Hongyang (23):
  tools/libxl: rename libxl__domain_suspend to libxl__domain_save
A  tools/libxl: move domain suspend code into libxl_dom_suspend.c
A  tools/libxl: move domain resume code into libxl_dom_suspend.c
  tools/libxl: rename remus checkpoint callbacks
  libxl/remus: introduce libxl__remus_setup
  libxl/remus: introduce libxl__remus_teardown
  libxl/remus: init checkpoint_callback in Remus checkpoint callback
  tools/libxl: move remus code into libxl_remus.c
A  tools/libxl: move save/restore code into libxl_dom_save.c
  libxl/save: Refactor libxl__domain_suspend_state
  tools/libxl: introduce enum type libxl_checkpointed_stream
  migration/save: pass checkpointed_stream from libxl to libxc
  tools/libxl: introduce libxl__domain_restore_device_model to load qemu
    state
  tools/libxl: check QEMU state before resume dm
  tools/libxl: Update libxl_domain_unpause() to support qemu-xen
A  tools/libxl: introduce libxl__domain_common_switch_qemu_logdirty()
A  tools/libxl: export logdirty_init
  tools/libx{l,c}: add back channel to libxc
  tools/libxl: rename remus device to checkpoint device
A  tools/libxl: adjust the indentation
  tools/libxl: store remus_ops in checkpoint device state
  tools/libxl: move remus state into a seperate structure
  tools/libxl: seperate device init/cleanup from checkpoint device layer

 tools/libxc/include/xenguest.h        |   13 +-
 tools/libxc/xc_domain_restore.c       |    4 +-
 tools/libxc/xc_domain_save.c          |    6 +-
 tools/libxc/xc_nomigrate.c            |    3 +-
 tools/libxc/xc_resume.c               |   22 +-
 tools/libxc/xc_sr_common.h            |    2 +-
 tools/libxc/xc_sr_restore.c           |    2 +-
 tools/libxc/xc_sr_save.c              |    5 +-
 tools/libxl/Makefile                  |    5 +-
 tools/libxl/libxl.c                   |  119 +---
 tools/libxl/libxl.h                   |   30 +-
 tools/libxl/libxl_checkpoint_device.c |  282 ++++++++
 tools/libxl/libxl_create.c            |   33 +-
 tools/libxl/libxl_dom.c               | 1243 ---------------------------------
 tools/libxl/libxl_dom_save.c          |  721 +++++++++++++++++++
 tools/libxl/libxl_dom_suspend.c       |  503 +++++++++++++
 tools/libxl/libxl_internal.h          |  246 ++++---
 tools/libxl/libxl_netbuffer.c         |  117 ++--
 tools/libxl/libxl_nonetbuffer.c       |   10 +-
 tools/libxl/libxl_qmp.c               |   10 +
 tools/libxl/libxl_remus.c             |  395 +++++++++++
 tools/libxl/libxl_remus_device.c      |  327 ---------
 tools/libxl/libxl_remus_disk_drbd.c   |   56 +-
 tools/libxl/libxl_save_callout.c      |   43 +-
 tools/libxl/libxl_save_helper.c       |    9 +-
 tools/libxl/libxl_stream_write.c      |   14 +-
 tools/libxl/libxl_types.idl           |   10 +-
 tools/libxl/xl_cmdimpl.c              |   21 +-
 tools/ocaml/libs/xl/xenlight_stubs.c  |    2 +-
 29 files changed, 2321 insertions(+), 1932 deletions(-)
 create mode 100644 tools/libxl/libxl_checkpoint_device.c
 create mode 100644 tools/libxl/libxl_dom_save.c
 create mode 100644 tools/libxl/libxl_dom_suspend.c
 create mode 100644 tools/libxl/libxl_remus.c
 delete mode 100644 tools/libxl/libxl_remus_device.c

-- 
1.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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