[4/6] migration/postcopy: set all_zero to true on the first target page
diff mbox series

Message ID 20191018004850.9888-5-richardw.yang@linux.intel.com
State New
Headers show
Series
  • Untitled series #136930
Related show

Commit Message

Wei Yang Oct. 18, 2019, 12:48 a.m. UTC
For the first target page, all_zero is set to true for this round check.

After target_pages introduced, we could leverage this variable instead
of checking the address offset.

Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
---
 migration/ram.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Dr. David Alan Gilbert Nov. 6, 2019, 8:04 p.m. UTC | #1
* Wei Yang (richardw.yang@linux.intel.com) wrote:
> For the first target page, all_zero is set to true for this round check.
> 
> After target_pages introduced, we could leverage this variable instead
> of checking the address offset.
> 
> Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>

Yes, OK - I find target_pages being incremented before
this point a bit confusing, I think of '0' as the first one.

Still, it's OK:


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

> ---
>  migration/ram.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/migration/ram.c b/migration/ram.c
> index 5c05376d8d..b5759793a9 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -4067,7 +4067,7 @@ static int ram_load_postcopy(QEMUFile *f)
>              page_buffer = postcopy_host_page +
>                            ((uintptr_t)host & (block->page_size - 1));
>              /* If all TP are zero then we can optimise the place */
> -            if (!((uintptr_t)host & (block->page_size - 1))) {
> +            if (target_pages == 1) {
>                  all_zero = true;
>              } else {
>                  /* not the 1st TP within the HP */
> -- 
> 2.17.1
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

Patch
diff mbox series

diff --git a/migration/ram.c b/migration/ram.c
index 5c05376d8d..b5759793a9 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -4067,7 +4067,7 @@  static int ram_load_postcopy(QEMUFile *f)
             page_buffer = postcopy_host_page +
                           ((uintptr_t)host & (block->page_size - 1));
             /* If all TP are zero then we can optimise the place */
-            if (!((uintptr_t)host & (block->page_size - 1))) {
+            if (target_pages == 1) {
                 all_zero = true;
             } else {
                 /* not the 1st TP within the HP */