[Top][All Lists]

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

[Qemu-devel] [PATCH v2 00/13] migration: cleanup migration_thread()

From: Peter Xu
Subject: [Qemu-devel] [PATCH v2 00/13] migration: cleanup migration_thread()
Date: Wed, 3 Jan 2018 20:20:04 +0800

- add r-bs
- the first patch: don't assert but error_report [Juan, Dave]
- remove mig_* prefix in var names [Juan]
- two more patches [Juan]:
  migration: remove notify in migrate_fd_error
  migration: remove some block_cleanup_parameters()
- rename old_vm_running to vm_was_running [Juan]
- rename vm_down_start_time to downtime_start [Juan]
- set s->downtime conditionally in migration_calculate_complete() so
  that postcopy downtime can be kept [Juan]

Firstly this series is something as a first attempt of me to cleanup
some migration code.  It may not be a good idea, but I still think it
worth a try, so I posted it.  Let me know if any of you don't like it,
so I can stop.  At least after the series the migration_thread()
function can be far shorter and much easier for first-time readers

For this single function, the most complexity part is quite a lot of
local variables crossly referenced everywhere, and during the cleanup
I do think the COLO part is hacky too.

There can be some functional changes too in the future:

- cancel migration as cleanup of QEMU quit
- add migration locks to protect migration internal states
- ...

But for this single series, there is still no functional change yet.

Please have a look.  Any feedback is welcomed.  Thanks,

Peter Xu (13):
  migration: assert colo instead of check
  migration: qemu_savevm_state_cleanup() in cleanup
  migration: remove "enable_colo" var
  migration: split use of MigrationState.total_time
  migration: move vm_old_running into global state
  migration: introduce downtime_start
  migration: introduce migrate_calculate_complete
  migration: use switch at the end of migration
  migration: cleanup stats update into function
  migration: major cleanup for migrate iterations
  migration: put the finish part into a new function
  migration: remove some block_cleanup_parameters()
  migration: remove notify in fd_error

 migration/migration.c | 307 +++++++++++++++++++++++++++++---------------------
 migration/migration.h |  22 ++++
 2 files changed, 200 insertions(+), 129 deletions(-)


reply via email to

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