All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Hildenbrand <david@redhat.com>
To: Andrey Gruzdev <andrey.gruzdev@virtuozzo.com>, qemu-devel@nongnu.org
Cc: Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Xu <peterx@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>, Den Lunev <den@openvz.org>
Subject: Re: [PATCH 2/3] migration: Inhibit virtio-balloon for the duration of background snapshot
Date: Thu, 18 Mar 2021 19:16:28 +0100	[thread overview]
Message-ID: <1892eefd-4405-705d-9242-50145c0d3fcd@redhat.com> (raw)
In-Reply-To: <20210318174611.293520-3-andrey.gruzdev@virtuozzo.com>

On 18.03.21 18:46, Andrey Gruzdev wrote:
> The same thing as for incoming postcopy - we cannot deal with concurrent
> RAM discards when using background snapshot feature in outgoing migration.
> 
> Signed-off-by: Andrey Gruzdev <andrey.gruzdev@virtuozzo.com>
> ---
>   hw/virtio/virtio-balloon.c | 8 ++++++--
>   include/migration/misc.h   | 2 ++
>   migration/migration.c      | 8 ++++++++
>   3 files changed, 16 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c
> index e770955176..d120bf8f43 100644
> --- a/hw/virtio/virtio-balloon.c
> +++ b/hw/virtio/virtio-balloon.c
> @@ -66,8 +66,12 @@ static bool virtio_balloon_pbp_matches(PartiallyBalloonedPage *pbp,
>   
>   static bool virtio_balloon_inhibited(void)
>   {
> -    /* Postcopy cannot deal with concurrent discards, so it's special. */
> -    return ram_block_discard_is_disabled() || migration_in_incoming_postcopy();
> +    /*
> +     * Postcopy cannot deal with concurrent discards,
> +     * so it's special, as well as background snapshots.
> +     */
> +    return ram_block_discard_is_disabled() || migration_in_incoming_postcopy() ||
> +            migration_in_bg_snapshot();
>   }
>   
>   static void balloon_inflate_page(VirtIOBalloon *balloon,
> diff --git a/include/migration/misc.h b/include/migration/misc.h
> index bccc1b6b44..738675ef52 100644
> --- a/include/migration/misc.h
> +++ b/include/migration/misc.h
> @@ -70,6 +70,8 @@ bool migration_in_postcopy_after_devices(MigrationState *);
>   void migration_global_dump(Monitor *mon);
>   /* True if incomming migration entered POSTCOPY_INCOMING_DISCARD */
>   bool migration_in_incoming_postcopy(void);
> +/* True if background snapshot is active */
> +bool migration_in_bg_snapshot(void);
>   
>   /* migration/block-dirty-bitmap.c */
>   void dirty_bitmap_mig_init(void);
> diff --git a/migration/migration.c b/migration/migration.c
> index 496cf6e17b..656d6249a6 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -1976,6 +1976,14 @@ bool migration_in_incoming_postcopy(void)
>       return ps >= POSTCOPY_INCOMING_DISCARD && ps < POSTCOPY_INCOMING_END;
>   }
>   
> +bool migration_in_bg_snapshot(void)
> +{
> +    MigrationState *s = migrate_get_current();
> +
> +    return migrate_background_snapshot() &&
> +            migration_is_setup_or_active(s->state);
> +}
> +
>   bool migration_is_idle(void)
>   {
>       MigrationState *s = current_migration;
> 

Reviewed-by: David Hildenbrand <david@redhat.com>

-- 
Thanks,

David / dhildenb



  reply	other threads:[~2021-03-18 18:29 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-18 17:46 [PATCH 0/3] migration: Fixes to the 'background-snapshot' code Andrey Gruzdev
2021-03-18 17:46 ` [PATCH 1/3] migration: Fix missing qemu_fflush() on buffer file in bg_migration_thread Andrey Gruzdev
2021-03-19 12:39   ` David Hildenbrand
2021-03-19 13:13     ` Andrey Gruzdev
2021-03-18 17:46 ` [PATCH 2/3] migration: Inhibit virtio-balloon for the duration of background snapshot Andrey Gruzdev
2021-03-18 18:16   ` David Hildenbrand [this message]
2021-03-19  8:27     ` Andrey Gruzdev
2021-03-18 17:46 ` [PATCH 3/3] migration: Pre-fault memory before starting background snasphot Andrey Gruzdev
2021-03-19  9:28   ` David Hildenbrand
2021-03-19  9:32     ` David Hildenbrand
2021-03-19 11:09       ` Andrey Gruzdev
2021-03-19 11:05     ` Andrey Gruzdev
2021-03-19 11:27       ` David Hildenbrand
2021-03-19 12:37         ` Andrey Gruzdev

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=1892eefd-4405-705d-9242-50145c0d3fcd@redhat.com \
    --to=david@redhat.com \
    --cc=andrey.gruzdev@virtuozzo.com \
    --cc=armbru@redhat.com \
    --cc=den@openvz.org \
    --cc=dgilbert@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peterx@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.