diff mbox series

[RFC,13/14] migration/rdma: only register the memory for multifd channels

Message ID 20200213093755.370-14-fengzhimin1@huawei.com (mailing list archive)
State New, archived
Headers show
Series *** multifd for RDMA v2 *** | expand

Commit Message

fengzhimin Feb. 13, 2020, 9:37 a.m. UTC
All data is sent by multifd Channels, so we only register its for
multifd channels and main channel don't register its.

Signed-off-by: Zhimin Feng <fengzhimin1@huawei.com>
---
 migration/rdma.c | 7 +++++++
 1 file changed, 7 insertions(+)
diff mbox series

Patch

diff --git a/migration/rdma.c b/migration/rdma.c
index eb7c2edbe7..b7b56c0493 100644
--- a/migration/rdma.c
+++ b/migration/rdma.c
@@ -3717,6 +3717,12 @@  static int qemu_rdma_registration_stop(QEMUFile *f, void *opaque,
 
                 qemu_sem_post(&multifd_send_param->sem_sync);
             }
+
+            /*
+             * Use multifd to migrate, we only register memory for
+             * multifd RDMA channel and main channel don't register it.
+             */
+            goto wait_reg_complete;
         }
 
         /*
@@ -3778,6 +3784,7 @@  static int qemu_rdma_registration_stop(QEMUFile *f, void *opaque,
             local->block[i].remote_rkey = rdma->dest_blocks[i].remote_rkey;
         }
 
+wait_reg_complete:
         /* Wait for all multifd channels to complete registration */
         if (migrate_use_multifd()) {
             int i;