aboutsummaryrefslogtreecommitdiff
path: root/migration/ram.c
diff options
context:
space:
mode:
authorWei Yang <richardw.yang@linux.intel.com>2019-07-10 13:08:13 +0800
committerDr. David Alan Gilbert <dgilbert@redhat.com>2019-08-14 17:33:14 +0100
commite927a0331757c358a1010c50628613d4da83038e (patch)
treec20c3fa1187e242344d2cc4120760b1710649e80 /migration/ram.c
parenta162b572e9e5a85c440656fe97d7a8b133257379 (diff)
migration/postcopy: reduce one operation to calculate fixup_start_addr
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> Message-Id: <20190710050814.31344-2-richardw.yang@linux.intel.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Diffstat (limited to 'migration/ram.c')
-rw-r--r--migration/ram.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/migration/ram.c b/migration/ram.c
index 4bb5e24459..da399f2c8a 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -2973,10 +2973,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;