diff mbox

migration: Fix migration state update issue

Message ID 1431023482-9044-1-git-send-email-liang.z.li@intel.com
State New
Headers show

Commit Message

Li, Liang Z May 7, 2015, 6:31 p.m. UTC
If live migration is very fast and can be completed in 1 second,
the dirty_sync_count of MigrationState will not be updated.
Then you will see "dirty sync count: 0" in qemu monitor even if
the actual dirty sync count is not 0.

Signed-off-by: Liang Li <liang.z.li@intel.com>
---
 arch_init.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Dr. David Alan Gilbert May 7, 2015, 11:38 a.m. UTC | #1
* Liang Li (liang.z.li@intel.com) wrote:
> If live migration is very fast and can be completed in 1 second,
> the dirty_sync_count of MigrationState will not be updated.
> Then you will see "dirty sync count: 0" in qemu monitor even if
> the actual dirty sync count is not 0.
> 
> Signed-off-by: Liang Li <liang.z.li@intel.com>
> ---
>  arch_init.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch_init.c b/arch_init.c
> index 4c8fcee..a48f575 100644
> --- a/arch_init.c
> +++ b/arch_init.c
> @@ -599,8 +599,8 @@ static void migration_bitmap_sync(void)
>          s->dirty_bytes_rate = s->dirty_pages_rate * TARGET_PAGE_SIZE;
>          start_time = end_time;
>          num_dirty_pages_period = 0;
> -        s->dirty_sync_count = bitmap_sync_count;
>      }
> +    s->dirty_sync_count = bitmap_sync_count;
>  }

Yes, makes sense.
(An interesting question is why there needs to be a separate bitmap_sync_count
variable that's separate from s->dirty_sync_count)

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

Dave

>  
>  /**
> -- 
> 1.9.1
> 
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
Juan Quintela May 7, 2015, 11:38 a.m. UTC | #2
Liang Li <liang.z.li@intel.com> wrote:
> If live migration is very fast and can be completed in 1 second,
> the dirty_sync_count of MigrationState will not be updated.
> Then you will see "dirty sync count: 0" in qemu monitor even if
> the actual dirty sync count is not 0.
>
> Signed-off-by: Liang Li <liang.z.li@intel.com>

Reviewed-by: Juan Quintela <quintela@redhat.com>

Added to new pull request, thanks.


> ---
>  arch_init.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch_init.c b/arch_init.c
> index 4c8fcee..a48f575 100644
> --- a/arch_init.c
> +++ b/arch_init.c
> @@ -599,8 +599,8 @@ static void migration_bitmap_sync(void)
>          s->dirty_bytes_rate = s->dirty_pages_rate * TARGET_PAGE_SIZE;
>          start_time = end_time;
>          num_dirty_pages_period = 0;
> -        s->dirty_sync_count = bitmap_sync_count;
>      }
> +    s->dirty_sync_count = bitmap_sync_count;
>  }
>  
>  /**
diff mbox

Patch

diff --git a/arch_init.c b/arch_init.c
index 4c8fcee..a48f575 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -599,8 +599,8 @@  static void migration_bitmap_sync(void)
         s->dirty_bytes_rate = s->dirty_pages_rate * TARGET_PAGE_SIZE;
         start_time = end_time;
         num_dirty_pages_period = 0;
-        s->dirty_sync_count = bitmap_sync_count;
     }
+    s->dirty_sync_count = bitmap_sync_count;
 }
 
 /**