qemu-block
[Top][All Lists]
Advanced

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

Re: [PATCH v5 03/14] migration: Simplify migration_iteration_run()


From: Avihai Horon
Subject: Re: [PATCH v5 03/14] migration: Simplify migration_iteration_run()
Date: Sun, 8 Jan 2023 18:30:44 +0200
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1


On 06/01/2023 19:56, Alex Williamson wrote:
External email: Use caution opening links or attachments


On Thu, 29 Dec 2022 13:03:34 +0200
Avihai Horon <avihaih@nvidia.com> wrote:

From: Juan Quintela <quintela@redhat.com>
IMHO, there should always be a commit log description.  Why is this a
simplification?

Yes. It just rephrases the condition so we can drop the else {}.

   What does it allow us to do?  Nothing later obviously
depends on this, why is it part of this series?

Right.
This is part of Juan's RFC [1].
Eventually we didn't need the RFC because of the new MIG_DATA_SIZE ioctl.
Since Juan already did this work, I thought I might as well take some of these patches.

I will simply drop it in next version.
If a real need to simplify this if else condition arises in the future, it can be done then.

Thanks.

[1] https://lore.kernel.org/qemu-devel/20221003031600.20084-1-quintela@redhat.com/

   Thanks,

Alex

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Avihai Horon <avihaih@nvidia.com>
---
  migration/migration.c | 25 +++++++++++++------------
  1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/migration/migration.c b/migration/migration.c
index 9795d0ec5c..61b9ce0fe8 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -3758,23 +3758,24 @@ static MigIterateState 
migration_iteration_run(MigrationState *s)
      trace_migrate_pending(pending_size, s->threshold_size,
                            pend_pre, pend_compat, pend_post);

-    if (pending_size && pending_size >= s->threshold_size) {
-        /* Still a significant amount to transfer */
-        if (!in_postcopy && pend_pre <= s->threshold_size &&
-            qatomic_read(&s->start_postcopy)) {
-            if (postcopy_start(s)) {
-                error_report("%s: postcopy failed to start", __func__);
-            }
-            return MIG_ITERATE_SKIP;
-        }
-        /* Just another iteration step */
-        qemu_savevm_state_iterate(s->to_dst_file, in_postcopy);
-    } else {
+
+    if (!pending_size || pending_size < s->threshold_size) {
          trace_migration_thread_low_pending(pending_size);
          migration_completion(s);
          return MIG_ITERATE_BREAK;
      }

+    /* Still a significant amount to transfer */
+    if (!in_postcopy && pend_pre <= s->threshold_size &&
+        qatomic_read(&s->start_postcopy)) {
+        if (postcopy_start(s)) {
+            error_report("%s: postcopy failed to start", __func__);
+        }
+        return MIG_ITERATE_SKIP;
+    }
+
+    /* Just another iteration step */
+    qemu_savevm_state_iterate(s->to_dst_file, in_postcopy);
      return MIG_ITERATE_RESUME;
  }




reply via email to

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