From: "Cédric Le Goater" <clg@redhat.com>
To: Peter Xu <peterx@redhat.com>, qemu-devel@nongnu.org
Cc: Avihai Horon <avihaih@nvidia.com>,
Fabiano Rosas <farosas@suse.de>,
Alex Williamson <alex.williamson@redhat.com>
Subject: Re: [PATCH v3 5/8] migration: Drop migration_is_idle()
Date: Fri, 25 Oct 2024 14:39:23 +0200 [thread overview]
Message-ID: <ba4ce438-554f-4f44-a14e-b65426aa8d4d@redhat.com> (raw)
In-Reply-To: <20241024213056.1395400-6-peterx@redhat.com>
On 10/24/24 23:30, Peter Xu wrote:
> Now with the current migration_is_running(), it will report exactly the
> opposite of what will be reported by migration_is_idle().
>
> Drop migration_is_idle(), instead use "!migration_is_running()" which
> should be identical on functionality.
>
> In reality, most of the idle check is inverted, so it's even easier to
> write with "migrate_is_running()" check.
>
> Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Thanks,
C.
> ---
> include/migration/misc.h | 1 -
> hw/virtio/virtio-mem.c | 2 +-
> migration/migration.c | 21 +--------------------
> migration/ram.c | 2 +-
> system/qdev-monitor.c | 4 ++--
> 5 files changed, 5 insertions(+), 25 deletions(-)
>
> diff --git a/include/migration/misc.h b/include/migration/misc.h
> index 86ef160f19..804eb23c06 100644
> --- a/include/migration/misc.h
> +++ b/include/migration/misc.h
> @@ -53,7 +53,6 @@ void dump_vmstate_json_to_file(FILE *out_fp);
> void migration_object_init(void);
> void migration_shutdown(void);
>
> -bool migration_is_idle(void);
> bool migration_is_active(void);
> bool migration_is_device(void);
> bool migration_is_running(void);
> diff --git a/hw/virtio/virtio-mem.c b/hw/virtio/virtio-mem.c
> index ae1e81d7ba..80ada89551 100644
> --- a/hw/virtio/virtio-mem.c
> +++ b/hw/virtio/virtio-mem.c
> @@ -188,7 +188,7 @@ static bool virtio_mem_is_busy(void)
> * after plugging them) until we're running on the destination (as we didn't
> * migrate these blocks when they were unplugged).
> */
> - return migration_in_incoming_postcopy() || !migration_is_idle();
> + return migration_in_incoming_postcopy() || migration_is_running();
> }
>
> typedef int (*virtio_mem_range_cb)(VirtIOMEM *vmem, void *arg,
> diff --git a/migration/migration.c b/migration/migration.c
> index 3365195def..f86c709699 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -1636,25 +1636,6 @@ bool migration_in_bg_snapshot(void)
> return migrate_background_snapshot() && migration_is_running();
> }
>
> -bool migration_is_idle(void)
> -{
> - MigrationState *s = current_migration;
> -
> - if (!s) {
> - return true;
> - }
> -
> - switch (s->state) {
> - case MIGRATION_STATUS_NONE:
> - case MIGRATION_STATUS_CANCELLED:
> - case MIGRATION_STATUS_COMPLETED:
> - case MIGRATION_STATUS_FAILED:
> - return true;
> - default:
> - return false;
> - }
> -}
> -
> bool migration_is_active(void)
> {
> MigrationState *s = current_migration;
> @@ -1733,7 +1714,7 @@ static bool is_busy(Error **reasonp, Error **errp)
> ERRP_GUARD();
>
> /* Snapshots are similar to migrations, so check RUN_STATE_SAVE_VM too. */
> - if (runstate_check(RUN_STATE_SAVE_VM) || !migration_is_idle()) {
> + if (runstate_check(RUN_STATE_SAVE_VM) || migration_is_running()) {
> error_propagate_prepend(errp, *reasonp,
> "disallowing migration blocker "
> "(migration/snapshot in progress) for: ");
> diff --git a/migration/ram.c b/migration/ram.c
> index 5646a0b882..504b48d584 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -4498,7 +4498,7 @@ static void ram_mig_ram_block_resized(RAMBlockNotifier *n, void *host,
> return;
> }
>
> - if (!migration_is_idle()) {
> + if (migration_is_running()) {
> /*
> * Precopy code on the source cannot deal with the size of RAM blocks
> * changing at random points in time - especially after sending the
> diff --git a/system/qdev-monitor.c b/system/qdev-monitor.c
> index 1310f35c9f..83fa684475 100644
> --- a/system/qdev-monitor.c
> +++ b/system/qdev-monitor.c
> @@ -686,7 +686,7 @@ DeviceState *qdev_device_add_from_qdict(const QDict *opts,
> return NULL;
> }
>
> - if (!migration_is_idle()) {
> + if (migration_is_running()) {
> error_setg(errp, "device_add not allowed while migrating");
> return NULL;
> }
> @@ -935,7 +935,7 @@ void qdev_unplug(DeviceState *dev, Error **errp)
> return;
> }
>
> - if (!migration_is_idle() && !dev->allow_unplug_during_migration) {
> + if (migration_is_running() && !dev->allow_unplug_during_migration) {
> error_setg(errp, "device_del not allowed while migrating");
> return;
> }
next prev parent reply other threads:[~2024-10-25 12:40 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-24 21:30 [PATCH v3 0/8] Migration: Make misc.h helpers available for whole VM lifecycle Peter Xu
2024-10-24 21:30 ` [PATCH v3 1/8] migration: Take migration object refcount earlier for threads Peter Xu
2024-10-25 8:36 ` Cédric Le Goater
2024-10-29 18:48 ` Fabiano Rosas
2024-10-24 21:30 ` [PATCH v3 2/8] migration: Unexport dirty_bitmap_mig_init() Peter Xu
2024-10-29 18:48 ` Fabiano Rosas
2024-10-24 21:30 ` [PATCH v3 3/8] migration: Unexport ram_mig_init() Peter Xu
2024-10-25 8:36 ` Cédric Le Goater
2024-10-29 18:49 ` Fabiano Rosas
2024-10-24 21:30 ` [PATCH v3 4/8] migration: Drop migration_is_setup_or_active() Peter Xu
2024-10-25 8:59 ` Cédric Le Goater
2024-10-29 19:04 ` Fabiano Rosas
2024-10-24 21:30 ` [PATCH v3 5/8] migration: Drop migration_is_idle() Peter Xu
2024-10-25 12:39 ` Cédric Le Goater [this message]
2024-10-29 19:07 ` Fabiano Rosas
2024-10-24 21:30 ` [PATCH v3 6/8] migration: Drop migration_is_device() Peter Xu
2024-10-24 21:30 ` [PATCH v3 7/8] migration: Unexport migration_is_active() Peter Xu
2024-10-28 7:43 ` Avihai Horon
2024-10-28 15:45 ` Peter Xu
2024-10-28 16:41 ` Avihai Horon
2024-10-28 16:58 ` Peter Xu
2024-10-28 17:20 ` Avihai Horon
2024-10-28 19:06 ` Peter Xu
2024-10-30 14:39 ` Avihai Horon
2024-10-30 14:43 ` Peter Xu
2024-10-24 21:30 ` [PATCH v3 8/8] migration: Protect updates to current_migration with a mutex Peter Xu
2024-10-25 12:50 ` Cédric Le Goater
2024-10-28 15:50 ` Peter Xu
2024-11-04 15:26 ` Cédric Le Goater
2024-10-29 20:22 ` [PATCH v3 0/8] Migration: Make misc.h helpers available for whole VM lifecycle 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=ba4ce438-554f-4f44-a14e-b65426aa8d4d@redhat.com \
--to=clg@redhat.com \
--cc=alex.williamson@redhat.com \
--cc=avihaih@nvidia.com \
--cc=farosas@suse.de \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
/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 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).