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

On 18.03.2021 21:16, David Hildenbrand wrote:
> 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!

-- 
Andrey Gruzdev, Principal Engineer
Virtuozzo GmbH  +7-903-247-6397
                 virtuzzo.com



  reply	other threads:[~2021-03-19  8:28 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
2021-03-19  8:27     ` Andrey Gruzdev [this message]
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=aabbd493-5610-f8dc-ce58-ae8fba3ab283@virtuozzo.com \
    --to=andrey.gruzdev@virtuozzo.com \
    --cc=armbru@redhat.com \
    --cc=david@redhat.com \
    --cc=den@openvz.org \
    --cc=dgilbert@redhat.com \
    --cc=eblake@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.