[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [CFT PATCH 11/12] do not use timedwait on qemu_cpu_cond
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [CFT PATCH 11/12] do not use timedwait on qemu_cpu_cond |
Date: |
Tue, 8 Feb 2011 18:18:28 +0100 |
Whenever env->created becomes true, qemu_cpu_cond is signaled by
{kvm,tcg}_cpu_thread_fn.
I change qemu_cond_signal to qemu_cond_broadcast because right now
there is only one listened but, if there were more, there would be
no reason to wake up only one.
Signed-off-by: Paolo Bonzini <address@hidden>
---
cpus.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/cpus.c b/cpus.c
index 97ba166..67fd672 100644
--- a/cpus.c
+++ b/cpus.c
@@ -794,7 +794,7 @@ static void *kvm_cpu_thread_fn(void *arg)
/* signal CPU creation */
env->created = 1;
- qemu_cond_signal(&qemu_cpu_cond);
+ qemu_cond_broadcast(&qemu_cpu_cond);
/* and wait for machine initialization */
while (!qemu_system_ready)
@@ -820,7 +820,7 @@ static void *tcg_cpu_thread_fn(void *arg)
qemu_mutex_lock(&qemu_global_mutex);
for (env = first_cpu; env != NULL; env = env->next_cpu)
env->created = 1;
- qemu_cond_signal(&qemu_cpu_cond);
+ qemu_cond_broadcast(&qemu_cpu_cond);
/* and wait for machine initialization */
while (!qemu_system_ready)
@@ -935,7 +935,7 @@ static void tcg_init_vcpu(void *_env)
qemu_cond_init(env->halt_cond);
qemu_thread_create(env->thread, tcg_cpu_thread_fn, env);
while (env->created == 0)
- qemu_cond_timedwait(&qemu_cpu_cond, &qemu_global_mutex, 100);
+ qemu_cond_wait(&qemu_cpu_cond, &qemu_global_mutex);
tcg_cpu_thread = env->thread;
tcg_halt_cond = env->halt_cond;
} else {
@@ -951,7 +951,7 @@ static void kvm_start_vcpu(CPUState *env)
qemu_cond_init(env->halt_cond);
qemu_thread_create(env->thread, kvm_cpu_thread_fn, env);
while (env->created == 0)
- qemu_cond_timedwait(&qemu_cpu_cond, &qemu_global_mutex, 100);
+ qemu_cond_wait(&qemu_cpu_cond, &qemu_global_mutex);
}
void qemu_init_vcpu(void *_env)
--
1.7.3.5
- [Qemu-devel] [CFT PATCH 00/12] Tricky parts of my iothread-for-win32 stuff, Paolo Bonzini, 2011/02/08
- [Qemu-devel] [CFT PATCH 08/12] do not use timedwait on qemu_halt_cond, Paolo Bonzini, 2011/02/08
- [Qemu-devel] [CFT PATCH 11/12] do not use timedwait on qemu_cpu_cond,
Paolo Bonzini <=
- [Qemu-devel] [CFT PATCH 07/12] always signal pause_cond after stopping a VCPU, Paolo Bonzini, 2011/02/08
- [Qemu-devel] [CFT PATCH 01/12] io-thread: make sure to initialize qemu_work_cond and qemu_cpu_cond, Paolo Bonzini, 2011/02/08
- [Qemu-devel] [CFT PATCH 03/12] inline cpu_halted into sole caller, Paolo Bonzini, 2011/02/08
- [Qemu-devel] [CFT PATCH 09/12] do not use timedwait on qemu_system_cond, Paolo Bonzini, 2011/02/08
- [Qemu-devel] [CFT PATCH 12/12] iothread stops the vcpu thread via IPI, Paolo Bonzini, 2011/02/08
- [Qemu-devel] [CFT PATCH 02/12] cris, microblaze: use cpu_has_work, Paolo Bonzini, 2011/02/08
- [Qemu-devel] [CFT PATCH 06/12] exit round-robin vcpu loop if cpu->stopped is true, Paolo Bonzini, 2011/02/08