* Chuan Zheng ([email protected]) wrote:
> 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 <[email protected]>
> Signed-off-by: Chuan Zheng <[email protected]>
> ---
>  migration/rdma.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/migration/rdma.c b/migration/rdma.c
> index c906cc7..f5eb563 100644
> --- a/migration/rdma.c
> +++ b/migration/rdma.c
> @@ -3939,6 +3939,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;

No! No goto's for control flow except for error exits.

>          }
>  
>          /*
> @@ -3999,6 +4005,8 @@ static int qemu_rdma_registration_stop(QEMUFile *f, 
> void *opaque,
>                      rdma->dest_blocks[i].remote_host_addr;
>              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;
> -- 
> 1.8.3.1
> 
-- 
Dr. David Alan Gilbert / [email protected] / Manchester, UK


Reply via email to