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

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



Seems my reply emails last night are lost. they didn't appear on the
list, I'm going to repost them.

On 07/15/2015 03:45 PM, Yang Hongyang wrote:
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


--
Thanks,
Yang.

_______________________________________________
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®.