diff mbox series

[1/2] migration/postcopy: reduce one operation to calculate fixup_start_addr

Message ID 20190710050814.31344-2-richardw.yang@linux.intel.com (mailing list archive)
State New, archived
Headers show
Series migration/postcopy: cleanup function postcopy_chunk_hostpages_pass | expand

Commit Message

Wei Yang July 10, 2019, 5:08 a.m. UTC
Use the same way for run_end to calculate run_start, which saves one
operation.

Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
---
 migration/ram.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

Comments

Dr. David Alan Gilbert July 19, 2019, 3:48 p.m. UTC | #1
* Wei Yang (richardw.yang@linux.intel.com) wrote:
> Use the same way for run_end to calculate run_start, which saves one
> operation.
> 
> Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>

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

> ---
>  migration/ram.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/migration/ram.c b/migration/ram.c
> index 410e0f89fe..c4dc36e525 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -2884,10 +2884,12 @@ static void postcopy_chunk_hostpages_pass(MigrationState *ms, bool unsent_pass,
>          host_offset = run_start % host_ratio;
>          if (host_offset) {
>              do_fixup = true;
> -            run_start -= host_offset;
> -            fixup_start_addr = run_start;
> -            /* For the next pass */
> -            run_start = run_start + host_ratio;
> +            fixup_start_addr = run_start - host_offset;
> +            /*
> +             * This host page has gone, the next loop iteration starts
> +             * from after the fixup
> +             */
> +            run_start = fixup_start_addr + host_ratio;
>          } else {
>              /* Find the end of this run */
>              unsigned long run_end;
> -- 
> 2.17.1
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
diff mbox series

Patch

diff --git a/migration/ram.c b/migration/ram.c
index 410e0f89fe..c4dc36e525 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -2884,10 +2884,12 @@  static void postcopy_chunk_hostpages_pass(MigrationState *ms, bool unsent_pass,
         host_offset = run_start % host_ratio;
         if (host_offset) {
             do_fixup = true;
-            run_start -= host_offset;
-            fixup_start_addr = run_start;
-            /* For the next pass */
-            run_start = run_start + host_ratio;
+            fixup_start_addr = run_start - host_offset;
+            /*
+             * This host page has gone, the next loop iteration starts
+             * from after the fixup
+             */
+            run_start = fixup_start_addr + host_ratio;
         } else {
             /* Find the end of this run */
             unsigned long run_end;