aboutsummaryrefslogtreecommitdiff
path: root/migration
diff options
context:
space:
mode:
authorPeter Xu <peterx@redhat.com>2022-10-11 17:55:54 -0400
committerJuan Quintela <quintela@redhat.com>2022-12-15 10:30:37 +0100
commitebd88a49736f4e3af0aa4004ceb0980698659ebe (patch)
tree22188685d2c073069851357aac966e0e8287bc85 /migration
parent61717ea9d21c8701f312b647a8ea092c5dfbf8e4 (diff)
downloadqemu-ebd88a49736f4e3af0aa4004ceb0980698659ebe.zip
qemu-ebd88a49736f4e3af0aa4004ceb0980698659ebe.tar.gz
qemu-ebd88a49736f4e3af0aa4004ceb0980698659ebe.tar.bz2
migration: Add pss_init()
Helper to init PSS structures. Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Peter Xu <peterx@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
Diffstat (limited to 'migration')
-rw-r--r--migration/ram.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/migration/ram.c b/migration/ram.c
index 571d780..d81bf7b 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -542,6 +542,14 @@ static bool do_compress_ram_page(QEMUFile *f, z_stream *stream, RAMBlock *block,
static void postcopy_preempt_restore(RAMState *rs, PageSearchStatus *pss,
bool postcopy_requested);
+/* NOTE: page is the PFN not real ram_addr_t. */
+static void pss_init(PageSearchStatus *pss, RAMBlock *rb, ram_addr_t page)
+{
+ pss->block = rb;
+ pss->page = page;
+ pss->complete_round = false;
+}
+
static void *do_data_compress(void *opaque)
{
CompressParam *param = opaque;
@@ -2650,9 +2658,7 @@ static int ram_find_and_save_block(RAMState *rs)
rs->last_page = 0;
}
- pss.block = rs->last_seen_block;
- pss.page = rs->last_page;
- pss.complete_round = false;
+ pss_init(&pss, rs->last_seen_block, rs->last_page);
do {
again = true;