qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 10/16] migration: Take BQL slightly longer in postcopy_start()


From: Peter Xu
Subject: [PATCH 10/16] migration: Take BQL slightly longer in postcopy_start()
Date: Tue, 14 Jan 2025 18:07:40 -0500

This paves way for some follow up patch to modify migration states at the
end of postcopy_start(), which should better be with the BQL so that
there's no way of concurrent cancellation.

So we'll do something slightly more with BQL but they're really trivial,
hopefully nothing will really chance with this.

A side benefit is we can drop another explicit lock() in failure path.

Signed-off-by: Peter Xu <peterx@redhat.com>
---
 migration/migration.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/migration/migration.c b/migration/migration.c
index 5850c90c9f..f644a6306b 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -2626,8 +2626,6 @@ static int postcopy_start(MigrationState *ms, Error 
**errp)
 
     migration_downtime_end(ms);
 
-    bql_unlock();
-
     if (migrate_postcopy_ram()) {
         /*
          * Although this ping is just for debug, it could potentially be
@@ -2643,7 +2641,6 @@ static int postcopy_start(MigrationState *ms, Error 
**errp)
     ret = qemu_file_get_error(ms->to_dst_file);
     if (ret) {
         error_setg_errno(errp, -ret, "postcopy_start: Migration stream error");
-        bql_lock();
         goto fail;
     }
     trace_postcopy_preempt_enabled(migrate_postcopy_preempt());
@@ -2654,6 +2651,8 @@ static int postcopy_start(MigrationState *ms, Error 
**errp)
      */
     migration_rate_set(migrate_max_postcopy_bandwidth());
 
+    bql_unlock();
+
     return ret;
 
 fail_closefb:
-- 
2.47.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]