qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH COLO-Frame v18 00/34] COarse-grain LOck-stepping


From: Changlong Xie
Subject: Re: [Qemu-devel] [PATCH COLO-Frame v18 00/34] COarse-grain LOck-stepping(COLO) Virtual Machines for Non-stop Service (FT)
Date: Wed, 17 Aug 2016 13:46:42 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0

On 08/17/2016 12:05 PM, Zhi Yong Wu wrote:
HI

Can you update http://wiki.qemu.org/Features/COLO and
block-replication.txt? Recently i had a try, but failed. By the way,

I will update both of them later.

QEMU was built based on
https://github.com/coloft/qemu/commits/colo-v3.1-periodic-mode.


BTW, you should send email to QEMU community directly, but not personal email next time.

Thanks
        -Xie


Regards,

Zhi Yong Wu

On Wed, Aug 3, 2016 at 8:25 PM, zhanghailiang
<address@hidden> wrote:
This is the 18th version of COLO FT feature.

It is based on '[PATCH v24 00/12] Block replication for continuous checkpoints' 
series.
The complete codes can be found from the link:
https://github.com/coloft/qemu/commits/colo-v3.1-periodic-mode

For block part, Stefan promised to merge it.
So we would like to update this series to the latest upstream.

For this series, only patch 32 ~ 34 are not reviewed, so
please help review them. Thanks.

Cc: Stefan Hajnoczi <address@hidden>
Cc: Jason Wang <address@hidden>

TODO:
1. Checkpoint based on proxy in qemu
2. The capability of continuous FT
3. Optimize the VM's downtime during checkpoint

zhanghailiang (34):
   configure: Add parameter for configure to enable/disable COLO support
   migration: Introduce capability 'x-colo' to migration
   COLO: migrate colo related info to secondary node
   migration: Integrate COLO checkpoint process into migration
   migration: Integrate COLO checkpoint process into loadvm
   COLO/migration: Create a new communication path from destination to
     source
   COLO: Implement COLO checkpoint protocol
   COLO: Add a new RunState RUN_STATE_COLO
   COLO: Save PVM state to secondary side when do checkpoint
   COLO: Load PVM's dirty pages into SVM's RAM cache temporarily
   ram/COLO: Record the dirty pages that SVM received
   COLO: Load VMState into buffer before restore it
   COLO: Flush PVM's cached RAM into SVM's memory
   COLO: Add checkpoint-delay parameter for migrate-set-parameters
   COLO: Synchronize PVM's state to SVM periodically
   COLO failover: Introduce a new command to trigger a failover
   COLO failover: Introduce state to record failover process
   COLO: Implement failover work for Primary VM
   COLO: Implement failover work for Secondary VM
   qmp event: Add COLO_EXIT event to notify users while exited from COLO
   COLO failover: Shutdown related socket fd when do failover
   COLO failover: Don't do failover during loading VM's state
   COLO: Process shutdown command for VM in COLO state
   COLO: Update the global runstate after going into colo state
   savevm: Introduce two helper functions for save/find loadvm_handlers
     entry
   migration/savevm: Add new helpers to process the different stages of
     loadvm
   migration/savevm: Export two helper functions for savevm process
   COLO: Separate the process of saving/loading ram and device state
   COLO: Split qemu_savevm_state_begin out of checkpoint process
   filter-buffer: Accept zero interval
   net: Add notifier/callback for netdev init
   COLO/filter: Add each netdev a buffer filter
   COLO: Control the status of buffer filters for PVM
   COLO: Add block replication into colo process

  configure                     |  11 +
  docs/qmp-events.txt           |  16 +
  hmp-commands.hx               |  15 +
  hmp.c                         |  15 +
  hmp.h                         |   1 +
  include/exec/ram_addr.h       |   1 +
  include/migration/colo.h      |  43 +++
  include/migration/failover.h  |  33 ++
  include/migration/migration.h |  16 +
  include/net/filter.h          |   2 +
  include/net/net.h             |   3 +
  include/sysemu/sysemu.h       |   9 +
  migration/Makefile.objs       |   2 +
  migration/colo-comm.c         |  79 ++++
  migration/colo-failover.c     |  84 +++++
  migration/colo.c              | 844 ++++++++++++++++++++++++++++++++++++++++++
  migration/migration.c         |  84 ++++-
  migration/ram.c               | 175 ++++++++-
  migration/savevm.c            | 113 ++++--
  migration/trace-events        |   8 +
  net/filter-buffer.c           |  12 -
  net/net.c                     |  12 +
  qapi-schema.json              | 102 ++++-
  qapi/event.json               |  15 +
  qmp-commands.hx               |  24 +-
  stubs/Makefile.objs           |   1 +
  stubs/migration-colo.c        |  55 +++
  vl.c                          |  30 +-
  28 files changed, 1744 insertions(+), 61 deletions(-)
  create mode 100644 include/migration/colo.h
  create mode 100644 include/migration/failover.h
  create mode 100644 migration/colo-comm.c
  create mode 100644 migration/colo-failover.c
  create mode 100644 migration/colo.c
  create mode 100644 stubs/migration-colo.c

--
1.8.3.1











reply via email to

[Prev in Thread] Current Thread [Next in Thread]