xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 COLOPre 00/26] Prerequisite patches for COLO
@ 2015-06-25  6:25 Yang Hongyang
  2015-06-25  6:25 ` [PATCH v3 COLOPre 01/26] tools/libxl: rename libxl__domain_suspend to libxl__domain_save Yang Hongyang
                   ` (25 more replies)
  0 siblings, 26 replies; 103+ messages in thread
From: Yang Hongyang @ 2015-06-25  6:25 UTC (permalink / raw)
  To: xen-devel
  Cc: wei.liu2, ian.campbell, wency, andrew.cooper3, yunhong.jiang,
	eddie.dong, guijianfeng, rshriram, ian.jackson

This patchset is Prerequisite for COLO feature. For what COLO is, refer
to http://wiki.xen.org/wiki/COLO_-_Coarse_Grain_Lock_Stepping

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

I only did the compile test because Remus on Libxl migration v2 still
need to be fixed.

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

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 (5):
  tools/libxc: support to resume uncooperative HVM guests
  tools/libxl: Add back channel to allow migration target send data back
  tools/libxl: refactor write stream to support back channel
  tools/libxl: refactor read stream to support back channel
  docs/libxl: Introduce COLO_CONTEXT to support migration v2 colo
    streams

Yang Hongyang (21):
  tools/libxl: rename libxl__domain_suspend to libxl__domain_save
  tools/libxl: move domain suspend code into libxl_dom_suspend.c
  tools/libxl: move domain resume code into libxl_dom_suspend.c
  tools/libxl: move remus code into libxl_remus.c
  tools/libxl: move save/restore code into libxl_dom_save.c
  libxl/save: Refactor libxl__domain_suspend_state
  libxc/restore: fix error handle of process_record
  tools/libxl: introduce enum type libxl_checkpointed_stream
  migration/save: pass checkpointed_stream from libxl to libxc
  tools/libxl: introduce a new API libxl__domain_restore() to load qemu
    state
  tools/libxl: Update libxl_domain_unpause() to support qemu-xen
  tools/libxl: introduce libxl__domain_common_switch_qemu_logdirty()
  tools/libxl: export logdirty_init
  tools/libx{l,c}: add back channel to libxc
  tools/libx{l,c}: introduce should_checkpoint callback
  tools/libx{l,c}: add postcopy/suspend callback to restore side
  libxc/migration: Specification update for DIRTY_BITMAP records
  libxc/migration: export read_record for common use
  tools/libxl: rename remus device to checkpoint device
  tools/libxl: adjust the indentation
  tools/libxl: don't touch remus in checkpoint_device

 docs/specs/libxc-migration-stream.pandoc |   23 +-
 docs/specs/libxl-migration-stream.pandoc |   21 +-
 tools/libxc/include/xenguest.h           |   41 +-
 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.c               |   50 ++
 tools/libxc/xc_sr_common.h               |   16 +-
 tools/libxc/xc_sr_restore.c              |   93 +--
 tools/libxc/xc_sr_save.c                 |    5 +-
 tools/libxc/xc_sr_stream_format.h        |    1 +
 tools/libxl/Makefile                     |    4 +-
 tools/libxl/libxl.c                      |  119 +--
 tools/libxl/libxl.h                      |   29 +-
 tools/libxl/libxl_checkpoint_device.c    |  282 +++++++
 tools/libxl/libxl_create.c               |   41 +-
 tools/libxl/libxl_dom.c                  | 1171 ------------------------------
 tools/libxl/libxl_dom_save.c             |  713 ++++++++++++++++++
 tools/libxl/libxl_dom_suspend.c          |  446 ++++++++++++
 tools/libxl/libxl_internal.h             |  250 ++++---
 tools/libxl/libxl_netbuffer.c            |  117 +--
 tools/libxl/libxl_nonetbuffer.c          |   10 +-
 tools/libxl/libxl_qmp.c                  |   10 +
 tools/libxl/libxl_remus.c                |  386 ++++++++++
 tools/libxl/libxl_remus_device.c         |  327 ---------
 tools/libxl/libxl_remus_disk_drbd.c      |   56 +-
 tools/libxl/libxl_save_callout.c         |   27 +-
 tools/libxl/libxl_save_helper.c          |    9 +-
 tools/libxl/libxl_save_msgs_gen.pl       |   11 +-
 tools/libxl/libxl_sr_stream_format.h     |   11 +
 tools/libxl/libxl_stream_read.c          |   33 +-
 tools/libxl/libxl_stream_write.c         |   46 +-
 tools/libxl/libxl_types.idl              |   10 +-
 tools/libxl/xl_cmdimpl.c                 |   21 +-
 tools/python/xen/migration/libxl.py      |    9 +
 36 files changed, 2465 insertions(+), 1958 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

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

end of thread, other threads:[~2015-07-03 14:41 UTC | newest]

Thread overview: 103+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-25  6:25 [PATCH v3 COLOPre 00/26] Prerequisite patches for COLO Yang Hongyang
2015-06-25  6:25 ` [PATCH v3 COLOPre 01/26] tools/libxl: rename libxl__domain_suspend to libxl__domain_save Yang Hongyang
2015-06-29 15:43   ` Ian Campbell
2015-06-30  9:32     ` Yang Hongyang
2015-06-25  6:25 ` [PATCH v3 COLOPre 02/26] tools/libxl: move domain suspend code into libxl_dom_suspend.c Yang Hongyang
2015-06-25  6:25 ` [PATCH v3 COLOPre 03/26] tools/libxl: move domain resume " Yang Hongyang
2015-06-29 15:44   ` Ian Campbell
2015-06-25  6:25 ` [PATCH v3 COLOPre 04/26] tools/libxl: move remus code into libxl_remus.c Yang Hongyang
2015-06-29 15:48   ` Ian Campbell
2015-06-30  9:36     ` Yang Hongyang
2015-06-25  6:25 ` [PATCH v3 COLOPre 05/26] tools/libxl: move save/restore code into libxl_dom_save.c Yang Hongyang
2015-06-29 15:49   ` Ian Campbell
2015-06-25  6:25 ` [PATCH v3 COLOPre 06/26] libxl/save: Refactor libxl__domain_suspend_state Yang Hongyang
2015-06-29 16:01   ` Ian Campbell
2015-06-30  9:43     ` Yang Hongyang
2015-06-30  9:50       ` Ian Campbell
2015-06-30 10:05         ` Yang Hongyang
2015-06-25  6:25 ` [PATCH v3 COLOPre 07/26] libxc/restore: fix error handle of process_record Yang Hongyang
2015-06-29 16:07   ` Ian Campbell
2015-06-30  9:45     ` Yang Hongyang
2015-07-03  3:12       ` Yang Hongyang
2015-06-25  6:25 ` [PATCH v3 COLOPre 08/26] tools/libxc: support to resume uncooperative HVM guests Yang Hongyang
2015-06-29 16:27   ` Ian Campbell
2015-06-30 10:08     ` Wen Congyang
2015-06-30 10:59       ` Ian Campbell
2015-06-25  6:25 ` [PATCH v3 COLOPre 09/26] tools/libxl: introduce enum type libxl_checkpointed_stream Yang Hongyang
2015-06-29 16:30   ` Ian Campbell
2015-06-30  9:53     ` Yang Hongyang
2015-06-30 10:52       ` Ian Campbell
2015-07-01  2:05         ` Yang Hongyang
2015-07-01 10:36           ` Ian Campbell
2015-07-01 13:43             ` Yang Hongyang
2015-07-01 14:09               ` Ian Campbell
2015-06-25  6:25 ` [PATCH v3 COLOPre 10/26] migration/save: pass checkpointed_stream from libxl to libxc Yang Hongyang
2015-06-29 16:33   ` Ian Campbell
2015-06-25  6:25 ` [PATCH v3 COLOPre 11/26] tools/libxl: introduce a new API libxl__domain_restore() to load qemu state Yang Hongyang
2015-06-29 16:38   ` Ian Campbell
2015-06-30 10:04     ` Yang Hongyang
2015-06-30 10:54       ` Ian Campbell
2015-06-25  6:25 ` [PATCH v3 COLOPre 12/26] tools/libxl: Update libxl_domain_unpause() to support qemu-xen Yang Hongyang
2015-06-30 10:00   ` Ian Campbell
2015-07-01  2:10     ` Yang Hongyang
2015-07-01 10:38       ` Ian Campbell
2015-07-01 13:38         ` Yang Hongyang
2015-06-25  6:25 ` [PATCH v3 COLOPre 13/26] tools/libxl: introduce libxl__domain_common_switch_qemu_logdirty() Yang Hongyang
2015-06-25  6:25 ` [PATCH v3 COLOPre 14/26] tools/libxl: export logdirty_init Yang Hongyang
2015-06-30 10:01   ` Ian Campbell
2015-06-25  6:25 ` [PATCH v3 COLOPre 15/26] tools/libxl: Add back channel to allow migration target send data back Yang Hongyang
2015-06-30 10:07   ` Ian Campbell
2015-07-01  2:28     ` Yang Hongyang
2015-07-01 10:40       ` Ian Campbell
2015-07-01 13:46         ` Yang Hongyang
2015-06-25  6:25 ` [PATCH v3 COLOPre 16/26] tools/libx{l, c}: add back channel to libxc Yang Hongyang
2015-06-30 10:10   ` Ian Campbell
2015-07-01  2:38     ` Yang Hongyang
2015-07-01 10:42       ` Ian Campbell
2015-07-01 11:01         ` Andrew Cooper
2015-07-01 11:21           ` Ian Campbell
2015-07-01 12:07             ` Ian Jackson
2015-07-01 13:56               ` Yang Hongyang
2015-07-01 13:58                 ` Ian Jackson
2015-07-01 14:21               ` Ian Campbell
2015-07-01 13:54           ` Yang Hongyang
2015-07-01 14:03             ` Andrew Cooper
2015-06-30 10:17   ` Ian Campbell
2015-07-01  2:40     ` Yang Hongyang
2015-06-25  6:25 ` [PATCH v3 COLOPre 17/26] tools/libx{l, c}: introduce should_checkpoint callback Yang Hongyang
2015-06-30 10:19   ` Ian Campbell
2015-07-01  2:43     ` Yang Hongyang
2015-07-01 10:43       ` Ian Campbell
2015-07-01 13:58         ` Yang Hongyang
2015-06-25  6:25 ` [PATCH v3 COLOPre 18/26] tools/libx{l, c}: add postcopy/suspend callback to restore side Yang Hongyang
2015-06-30 10:21   ` Ian Campbell
2015-07-01  2:48     ` Yang Hongyang
2015-06-25  6:25 ` [PATCH v3 COLOPre 19/26] libxc/migration: Specification update for DIRTY_BITMAP records Yang Hongyang
2015-06-30 10:24   ` Ian Campbell
2015-07-01  3:07     ` Yang Hongyang
2015-07-01 10:16       ` Andrew Cooper
2015-07-01 10:27         ` Ian Campbell
2015-07-01 10:39           ` Andrew Cooper
2015-07-01 11:00             ` Ian Campbell
2015-07-03 14:25               ` Andrew Cooper
2015-07-03 14:41                 ` Ian Campbell
2015-06-25  6:25 ` [PATCH v3 COLOPre 20/26] libxc/migration: export read_record for common use Yang Hongyang
2015-06-25  6:25 ` [PATCH v3 COLOPre 21/26] tools/libxl: refactor write stream to support back channel Yang Hongyang
2015-06-30 10:28   ` Ian Campbell
2015-07-01  5:33     ` Wen Congyang
2015-07-01 10:45       ` Ian Campbell
2015-07-01 11:09         ` Wen Congyang
2015-06-25  6:25 ` [PATCH v3 COLOPre 22/26] tools/libxl: refactor read " Yang Hongyang
2015-06-30 10:39   ` Ian Campbell
2015-06-25  6:25 ` [PATCH v3 COLOPre 23/26] docs/libxl: Introduce COLO_CONTEXT to support migration v2 colo streams Yang Hongyang
2015-06-30 10:42   ` Ian Campbell
2015-07-01  3:10     ` Yang Hongyang
2015-07-01 10:44       ` Ian Campbell
2015-07-01 14:05         ` Yang Hongyang
2015-06-25  6:25 ` [PATCH v3 COLOPre 24/26] tools/libxl: rename remus device to checkpoint device Yang Hongyang
2015-06-30 10:43   ` Ian Campbell
2015-07-01  3:11     ` Yang Hongyang
2015-06-25  6:25 ` [PATCH v3 COLOPre 25/26] tools/libxl: adjust the indentation Yang Hongyang
2015-06-25  6:25 ` [PATCH v3 COLOPre 26/26] tools/libxl: don't touch remus in checkpoint_device Yang Hongyang
2015-06-30 10:50   ` Ian Campbell
2015-07-01  3:11     ` Yang Hongyang

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