qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 00/13] migration: cleanup migration_thread()
@ 2018-01-03 12:20 Peter Xu
  2018-01-03 12:20 ` [Qemu-devel] [PATCH v2 01/13] migration: assert colo instead of check Peter Xu
                   ` (12 more replies)
  0 siblings, 13 replies; 23+ messages in thread
From: Peter Xu @ 2018-01-03 12:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: Laurent Vivier, Juan Quintela, Dr . David Alan Gilbert, peterx

v2
- 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
AFAICT.

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

-- 
2.14.3

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

end of thread, other threads:[~2018-01-04  2:18 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-03 12:20 [Qemu-devel] [PATCH v2 00/13] migration: cleanup migration_thread() Peter Xu
2018-01-03 12:20 ` [Qemu-devel] [PATCH v2 01/13] migration: assert colo instead of check Peter Xu
2018-01-03 12:23   ` Juan Quintela
2018-01-03 12:20 ` [Qemu-devel] [PATCH v2 02/13] migration: qemu_savevm_state_cleanup() in cleanup Peter Xu
2018-01-03 12:20 ` [Qemu-devel] [PATCH v2 03/13] migration: remove "enable_colo" var Peter Xu
2018-01-03 12:24   ` Juan Quintela
2018-01-03 12:20 ` [Qemu-devel] [PATCH v2 04/13] migration: split use of MigrationState.total_time Peter Xu
2018-01-03 12:25   ` Juan Quintela
2018-01-03 12:20 ` [Qemu-devel] [PATCH v2 05/13] migration: move vm_old_running into global state Peter Xu
2018-01-03 12:20 ` [Qemu-devel] [PATCH v2 06/13] migration: introduce downtime_start Peter Xu
2018-01-03 12:20 ` [Qemu-devel] [PATCH v2 07/13] migration: introduce migrate_calculate_complete Peter Xu
2018-01-03 12:26   ` Juan Quintela
2018-01-03 12:20 ` [Qemu-devel] [PATCH v2 08/13] migration: use switch at the end of migration Peter Xu
2018-01-03 12:27   ` Juan Quintela
2018-01-03 12:20 ` [Qemu-devel] [PATCH v2 09/13] migration: cleanup stats update into function Peter Xu
2018-01-03 12:28   ` Juan Quintela
2018-01-03 12:20 ` [Qemu-devel] [PATCH v2 10/13] migration: major cleanup for migrate iterations Peter Xu
2018-01-03 12:20 ` [Qemu-devel] [PATCH v2 11/13] migration: put the finish part into a new function Peter Xu
2018-01-03 12:20 ` [Qemu-devel] [PATCH v2 12/13] migration: remove some block_cleanup_parameters() Peter Xu
2018-01-03 12:29   ` Juan Quintela
2018-01-03 12:20 ` [Qemu-devel] [PATCH v2 13/13] migration: remove notify in fd_error Peter Xu
2018-01-03 12:31   ` Juan Quintela
2018-01-04  2:18     ` Peter Xu

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