[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v7 35/42] Don't sync dirty bitmaps in postcopy
From: |
Juan Quintela |
Subject: |
Re: [Qemu-devel] [PATCH v7 35/42] Don't sync dirty bitmaps in postcopy |
Date: |
Tue, 14 Jul 2015 14:36:50 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
"Dr. David Alan Gilbert (git)" <address@hidden> wrote:
> From: "Dr. David Alan Gilbert" <address@hidden>
>
> Once we're in postcopy the source processors are stopped and memory
> shouldn't change any more, so there's no need to look at the dirty
> map.
>
> There are two notes to this:
> 1) If we do resync and a page had changed then the page would get
> sent again, which the destination wouldn't allow (since it might
> have also modified the page)
> 2) Before disabling this I'd seen very rare cases where a page had been
> marked dirtied although the memory contents are apparently identical
>
> Signed-off-by: Dr. David Alan Gilbert <address@hidden>
> Reviewed-by: David Gibson <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
But, in what patch do we sync the migratioon bitmap after changing to postcopy?
> ---
> migration/ram.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/migration/ram.c b/migration/ram.c
> index 01a0ab4..5cff4d6 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -1643,7 +1643,9 @@ static int ram_save_complete(QEMUFile *f, void *opaque)
> {
> rcu_read_lock();
>
> - migration_bitmap_sync();
> + if (!migration_postcopy_phase(migrate_get_current())) {
> + migration_bitmap_sync();
> + }
>
> ram_control_before_iterate(f, RAM_CONTROL_FINISH);
>
> @@ -1678,7 +1680,8 @@ static void ram_save_pending(QEMUFile *f, void *opaque,
> uint64_t max_size,
>
> remaining_size = ram_save_remaining() * TARGET_PAGE_SIZE;
>
> - if (remaining_size < max_size) {
> + if (!migration_postcopy_phase(migrate_get_current()) &&
> + remaining_size < max_size) {
> qemu_mutex_lock_iothread();
> rcu_read_lock();
> migration_bitmap_sync();
- Re: [Qemu-devel] [PATCH v7 35/42] Don't sync dirty bitmaps in postcopy,
Juan Quintela <=