diff mbox series

[RFC,10/13] migration: Add pss_init()

Message ID 20220829165659.96046-11-peterx@redhat.com (mailing list archive)
State New, archived
Headers show
Series migration: Postcopy Preempt-Full | expand

Commit Message

Peter Xu Aug. 29, 2022, 4:56 p.m. UTC
Helper to init PSS structures.

Signed-off-by: Peter Xu <peterx@redhat.com>
---
 migration/ram.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/migration/ram.c b/migration/ram.c
index adcc57c584..bdfcc6171a 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -535,6 +535,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;
@@ -2625,9 +2633,7 @@  static int ram_find_and_save_block(RAMState *rs)
         return pages;
     }
 
-    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);
 
     if (!pss.block) {
         pss.block = QLIST_FIRST_RCU(&ram_list.blocks);