All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Xu <peterx@redhat.com>
To: qemu-devel@nongnu.org
Cc: Laurent Vivier <lvivier@redhat.com>,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	peterx@redhat.com
Subject: [Qemu-devel] [PATCH v2 00/13] migration: cleanup migration_thread()
Date: Wed,  3 Jan 2018 20:20:04 +0800	[thread overview]
Message-ID: <20180103122017.14794-1-peterx@redhat.com> (raw)

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

             reply	other threads:[~2018-01-03 12:20 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-03 12:20 Peter Xu [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180103122017.14794-1-peterx@redhat.com \
    --to=peterx@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=lvivier@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.