[Qemu-devel] [RFC PATCH V7 18/19] mttcg: signal the associated cpu anyway.

2015-08-10 Thread fred . konrad
From: KONRAD Frederic fred.kon...@greensocs.com

We might have a race here. If current_cpu is about to be set then cpu_exit won't
be called and we don't exit TCG. This was probably an issue with old
implementation as well.

Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
 cpus.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/cpus.c b/cpus.c
index 2c5ca72..f61530c 100644
--- a/cpus.c
+++ b/cpus.c
@@ -674,8 +674,7 @@ static void cpu_signal(int sig)
 cpu_exit(current_cpu);
 }
 
-/* FIXME: We might want to check if the cpu is running? */
-tcg_thread_cpu-exit_request = true;
+cpu_exit(tcg_thread_cpu);
 }
 
 #ifdef CONFIG_LINUX
-- 
1.9.0




Re: [Qemu-devel] [RFC PATCH V7 18/19] mttcg: signal the associated cpu anyway.

2015-08-10 Thread Paolo Bonzini


On 10/08/2015 17:27, fred.kon...@greensocs.com wrote:
 diff --git a/cpus.c b/cpus.c
 index 2c5ca72..f61530c 100644
 --- a/cpus.c
 +++ b/cpus.c
 @@ -674,8 +674,7 @@ static void cpu_signal(int sig)
  cpu_exit(current_cpu);
  }
  
 -/* FIXME: We might want to check if the cpu is running? */
 -tcg_thread_cpu-exit_request = true;
 +cpu_exit(tcg_thread_cpu);

If you do this, you can remove the first if too, because current_cpu
is always either tcg_thread_cpu or NULL.

I think it's okay to do that and squash this patch into patch 11 as well.

Paolo