xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v7 COLO 00/18] COarse-grain LOck-stepping Virtual Machines for Non-stop Service
@ 2015-06-25  6:30 Yang Hongyang
  2015-06-25  6:30 ` [PATCH v7 COLO 01/18] docs: add colo readme Yang Hongyang
                   ` (18 more replies)
  0 siblings, 19 replies; 24+ messages in thread
From: Yang Hongyang @ 2015-06-25  6:30 UTC (permalink / raw)
  To: xen-devel
  Cc: wei.liu2, ian.campbell, wency, andrew.cooper3, yunhong.jiang,
	eddie.dong, guijianfeng, rshriram, ian.jackson

This patchset implemented the COLO feature for Xen.
For detail/install/use of COLO feature, refer to:
  http://wiki.xen.org/wiki/COLO_-_Coarse_Grain_Lock_Stepping

This patchset is based on:
  [PATCH v3 COLOPre 00/26] Prerequisite patches for COLO
and on:
  http://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=shortlog;h=refs/heads/libxl-migv2-v1

Note that I did compile test only because Libxl migration v2 is in
experimental and Remus failover on Libxl migration v2 need to be fixed.

We only support hvm guest now. The codes are also hosted on github:
  https://github.com/macrosheep/xen/tree/colo-v7

Changelog from v6 to v7:
1. Ported to Libxl migration v2
2. Send dirty bitmap from secondary to primary on libxc side
3. Address review comments

Changelog from v5 to v6:
1. based on migration v2(libxc)
2. split the patchset into prerequisite patchset and this main patchset.

Changelog from v4 to v5:
1. rebase to the latest xen upstream
2. disk replication: blktap2->qdisk
3. nic replication: colo-agent->colo-proxy

Changelog from v3 to v4:
1. rebase to newest xen
2. bug fix

Changlog from v2 to v3:
1. rebase to newest remus
2. add nic replication support

Changlog from v1 to v2:
1. rebase to newest remus
2. add disk replication support


Wen Congyang (8):
  tools/libxl: handle colo_context records in a libxl migration v2
    stream
  tools/libxl: write colo_context records into the stream
  secondary vm suspend/resume/checkpoint code
  primary vm suspend/resume/checkpoint code
  send store mfn and console mfn to xl before resuming secondary vm
  implement the cmdline for COLO
  Support colo mode for qemu disk
  COLO: use qemu block replication

Yang Hongyang (10):
  docs: add colo readme
  libxc/restore: support COLO restore
  libxc/restore: send dirty bitmap to primary when checkpoint under colo
  libxc/save: support COLO save
  COLO proxy: implement setup/teardown of COLO proxy module
  COLO proxy: preresume, postresume and checkpoint
  COLO nic: implement COLO nic subkind
  setup and control colo proxy on primary side
  setup and control colo proxy on secondary side
  cmdline switches and config vars to control colo-proxy

 docs/README.colo                     |    9 +
 docs/man/xl.conf.pod.5               |    6 +
 docs/man/xl.pod.1                    |   11 +-
 docs/misc/xl-disk-configuration.txt  |   38 ++
 tools/hotplug/Linux/Makefile         |    1 +
 tools/hotplug/Linux/colo-proxy-setup |  131 +++++
 tools/libxc/include/xenguest.h       |    8 +
 tools/libxc/xc_sr_common.h           |   25 +-
 tools/libxc/xc_sr_restore.c          |  184 ++++++
 tools/libxc/xc_sr_save.c             |  104 +++-
 tools/libxl/Makefile                 |    4 +
 tools/libxl/libxl.c                  |   77 ++-
 tools/libxl/libxl_colo.h             |   42 ++
 tools/libxl/libxl_colo_nic.c         |  317 +++++++++++
 tools/libxl/libxl_colo_proxy.c       |  267 +++++++++
 tools/libxl/libxl_colo_qdisk.c       |  209 +++++++
 tools/libxl/libxl_colo_restore.c     | 1022 ++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_colo_save.c        |  705 +++++++++++++++++++++++
 tools/libxl/libxl_create.c           |  152 ++++-
 tools/libxl/libxl_device.c           |   38 ++
 tools/libxl/libxl_dm.c               |  262 ++++++++-
 tools/libxl/libxl_dom_save.c         |   13 +-
 tools/libxl/libxl_internal.h         |  172 ++++--
 tools/libxl/libxl_qmp.c              |   31 ++
 tools/libxl/libxl_save_callout.c     |    7 +-
 tools/libxl/libxl_save_msgs_gen.pl   |    2 +-
 tools/libxl/libxl_stream_read.c      |   51 ++
 tools/libxl/libxl_stream_write.c     |   92 +++
 tools/libxl/libxl_types.idl          |    8 +
 tools/libxl/libxlu_disk_l.l          |    5 +
 tools/libxl/xl.c                     |    3 +
 tools/libxl/xl.h                     |    1 +
 tools/libxl/xl_cmdimpl.c             |  101 +++-
 tools/libxl/xl_cmdtable.c            |    4 +-
 34 files changed, 4007 insertions(+), 95 deletions(-)
 create mode 100644 docs/README.colo
 create mode 100755 tools/hotplug/Linux/colo-proxy-setup
 create mode 100644 tools/libxl/libxl_colo.h
 create mode 100644 tools/libxl/libxl_colo_nic.c
 create mode 100644 tools/libxl/libxl_colo_proxy.c
 create mode 100644 tools/libxl/libxl_colo_qdisk.c
 create mode 100644 tools/libxl/libxl_colo_restore.c
 create mode 100644 tools/libxl/libxl_colo_save.c

-- 
1.9.1

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

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

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-25  6:30 [PATCH v7 COLO 00/18] COarse-grain LOck-stepping Virtual Machines for Non-stop Service Yang Hongyang
2015-06-25  6:30 ` [PATCH v7 COLO 01/18] docs: add colo readme Yang Hongyang
2015-07-14 15:15   ` Ian Campbell
2015-06-25  6:30 ` [PATCH v7 COLO 02/18] tools/libxl: handle colo_context records in a libxl migration v2 stream Yang Hongyang
2015-07-14 15:19   ` Ian Campbell
2015-07-15  0:34     ` Yang Hongyang
2015-06-25  6:30 ` [PATCH v7 COLO 03/18] tools/libxl: write colo_context records into the stream Yang Hongyang
2015-06-25  6:30 ` [PATCH v7 COLO 04/18] secondary vm suspend/resume/checkpoint code Yang Hongyang
2015-06-25  6:30 ` [PATCH v7 COLO 05/18] primary " Yang Hongyang
2015-06-25  6:31 ` [PATCH v7 COLO 06/18] libxc/restore: support COLO restore Yang Hongyang
2015-06-25  6:31 ` [PATCH v7 COLO 07/18] libxc/restore: send dirty bitmap to primary when checkpoint under colo Yang Hongyang
2015-06-25  6:31 ` [PATCH v7 COLO 08/18] send store mfn and console mfn to xl before resuming secondary vm Yang Hongyang
2015-06-25  6:31 ` [PATCH v7 COLO 09/18] libxc/save: support COLO save Yang Hongyang
2015-06-25  6:31 ` [PATCH v7 COLO 10/18] implement the cmdline for COLO Yang Hongyang
2015-06-25  6:31 ` [PATCH v7 COLO 11/18] Support colo mode for qemu disk Yang Hongyang
2015-06-25  6:31 ` [PATCH v7 COLO 12/18] COLO: use qemu block replication Yang Hongyang
2015-06-25  6:31 ` [PATCH v7 COLO 13/18] COLO proxy: implement setup/teardown of COLO proxy module Yang Hongyang
2015-06-25  6:31 ` [PATCH v7 COLO 14/18] COLO proxy: preresume, postresume and checkpoint Yang Hongyang
2015-06-25  6:31 ` [PATCH v7 COLO 15/18] COLO nic: implement COLO nic subkind Yang Hongyang
2015-06-25  6:31 ` [PATCH v7 COLO 16/18] setup and control colo proxy on primary side Yang Hongyang
2015-06-25  6:31 ` [PATCH v7 COLO 17/18] setup and control colo proxy on secondary side Yang Hongyang
2015-06-25  6:31 ` [PATCH v7 COLO 18/18] cmdline switches and config vars to control colo-proxy Yang Hongyang
2015-07-14 15:55 ` [PATCH v7 COLO 00/18] COarse-grain LOck-stepping Virtual Machines for Non-stop Service Ian Campbell
2015-07-15  0:41   ` 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).