Re: [PATCH] COLO: Move some trace code behind qemu_mutex_unlock_iothread()

2021-12-13 Thread Rao, Lei




On 12/13/2021 7:45 PM, Dr. David Alan Gilbert wrote:

* Rao, Lei (lei@intel.com) wrote:

Signed-off-by: Lei Rao 


You don't say why you want to move it - it's just a trace, what's the
advantage?


I think it's not necessary to put trace code in the critical section.
So, moving it behind qemu_mutex_unlock_iothread() may reduce the lock time.
I will send the V2 and add some commit messages to say why.

Thanks,
Lei



Dave


---
  migration/colo.c | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/migration/colo.c b/migration/colo.c
index 2415325262..3ccacb29c8 100644
--- a/migration/colo.c
+++ b/migration/colo.c
@@ -683,8 +683,8 @@ static void 
colo_incoming_process_checkpoint(MigrationIncomingState *mis,
  
  qemu_mutex_lock_iothread();

  vm_stop_force_state(RUN_STATE_COLO);
-trace_colo_vm_state_change("run", "stop");
  qemu_mutex_unlock_iothread();
+trace_colo_vm_state_change("run", "stop");
  
  /* FIXME: This is unnecessary for periodic checkpoint mode */

  colo_send_message(mis->to_src_file, COLO_MESSAGE_CHECKPOINT_REPLY,
@@ -786,8 +786,8 @@ static void 
colo_incoming_process_checkpoint(MigrationIncomingState *mis,
  
  vmstate_loading = false;

  vm_start();
-trace_colo_vm_state_change("stop", "run");
  qemu_mutex_unlock_iothread();
+trace_colo_vm_state_change("stop", "run");
  
  if (failover_get_state() == FAILOVER_STATUS_RELAUNCH) {

  return;
@@ -870,8 +870,8 @@ void *colo_process_incoming_thread(void *opaque)
  abort();
  #endif
  vm_start();
-trace_colo_vm_state_change("stop", "run");
  qemu_mutex_unlock_iothread();
+trace_colo_vm_state_change("stop", "run");
  
  colo_send_message(mis->to_src_file, COLO_MESSAGE_CHECKPOINT_READY,

_err);
--
2.32.0





Re: [PATCH] COLO: Move some trace code behind qemu_mutex_unlock_iothread()

2021-12-13 Thread Dr. David Alan Gilbert
* Rao, Lei (lei@intel.com) wrote:
> Signed-off-by: Lei Rao 

You don't say why you want to move it - it's just a trace, what's the
advantage?

Dave

> ---
>  migration/colo.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/migration/colo.c b/migration/colo.c
> index 2415325262..3ccacb29c8 100644
> --- a/migration/colo.c
> +++ b/migration/colo.c
> @@ -683,8 +683,8 @@ static void 
> colo_incoming_process_checkpoint(MigrationIncomingState *mis,
>  
>  qemu_mutex_lock_iothread();
>  vm_stop_force_state(RUN_STATE_COLO);
> -trace_colo_vm_state_change("run", "stop");
>  qemu_mutex_unlock_iothread();
> +trace_colo_vm_state_change("run", "stop");
>  
>  /* FIXME: This is unnecessary for periodic checkpoint mode */
>  colo_send_message(mis->to_src_file, COLO_MESSAGE_CHECKPOINT_REPLY,
> @@ -786,8 +786,8 @@ static void 
> colo_incoming_process_checkpoint(MigrationIncomingState *mis,
>  
>  vmstate_loading = false;
>  vm_start();
> -trace_colo_vm_state_change("stop", "run");
>  qemu_mutex_unlock_iothread();
> +trace_colo_vm_state_change("stop", "run");
>  
>  if (failover_get_state() == FAILOVER_STATUS_RELAUNCH) {
>  return;
> @@ -870,8 +870,8 @@ void *colo_process_incoming_thread(void *opaque)
>  abort();
>  #endif
>  vm_start();
> -trace_colo_vm_state_change("stop", "run");
>  qemu_mutex_unlock_iothread();
> +trace_colo_vm_state_change("stop", "run");
>  
>  colo_send_message(mis->to_src_file, COLO_MESSAGE_CHECKPOINT_READY,
>_err);
> -- 
> 2.32.0
> 
-- 
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK




[PATCH] COLO: Move some trace code behind qemu_mutex_unlock_iothread()

2021-12-09 Thread Rao, Lei
Signed-off-by: Lei Rao 
---
 migration/colo.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/migration/colo.c b/migration/colo.c
index 2415325262..3ccacb29c8 100644
--- a/migration/colo.c
+++ b/migration/colo.c
@@ -683,8 +683,8 @@ static void 
colo_incoming_process_checkpoint(MigrationIncomingState *mis,
 
 qemu_mutex_lock_iothread();
 vm_stop_force_state(RUN_STATE_COLO);
-trace_colo_vm_state_change("run", "stop");
 qemu_mutex_unlock_iothread();
+trace_colo_vm_state_change("run", "stop");
 
 /* FIXME: This is unnecessary for periodic checkpoint mode */
 colo_send_message(mis->to_src_file, COLO_MESSAGE_CHECKPOINT_REPLY,
@@ -786,8 +786,8 @@ static void 
colo_incoming_process_checkpoint(MigrationIncomingState *mis,
 
 vmstate_loading = false;
 vm_start();
-trace_colo_vm_state_change("stop", "run");
 qemu_mutex_unlock_iothread();
+trace_colo_vm_state_change("stop", "run");
 
 if (failover_get_state() == FAILOVER_STATUS_RELAUNCH) {
 return;
@@ -870,8 +870,8 @@ void *colo_process_incoming_thread(void *opaque)
 abort();
 #endif
 vm_start();
-trace_colo_vm_state_change("stop", "run");
 qemu_mutex_unlock_iothread();
+trace_colo_vm_state_change("stop", "run");
 
 colo_send_message(mis->to_src_file, COLO_MESSAGE_CHECKPOINT_READY,
   _err);
-- 
2.32.0