[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH qom-cpu 10/59] cpus: Simplify qemu_tcg_wait_io_event
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PATCH qom-cpu 10/59] cpus: Simplify qemu_tcg_wait_io_event() and qemu_tcg_cpu_thread_fn() |
Date: |
Sun, 9 Jun 2013 21:12:37 +0200 |
Use new qemu_for_each_cpu().
Signed-off-by: Andreas Färber <address@hidden>
---
cpus.c | 16 +++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)
diff --git a/cpus.c b/cpus.c
index 9195bc3..a8572a9 100644
--- a/cpus.c
+++ b/cpus.c
@@ -703,10 +703,13 @@ static void qemu_wait_io_event_common(CPUState *cpu)
cpu->thread_kicked = false;
}
-static void qemu_tcg_wait_io_event(void)
+static void qemu_wait_one_io_event_common(CPUState *cpu, void *data)
{
- CPUArchState *env;
+ qemu_wait_io_event_common(cpu);
+}
+static void qemu_tcg_wait_io_event(void)
+{
while (all_cpu_threads_idle()) {
/* Start accounting real time to the virtual clock if the CPUs
are idle. */
@@ -718,9 +721,7 @@ static void qemu_tcg_wait_io_event(void)
qemu_cond_wait(&qemu_io_proceeded_cond, &qemu_global_mutex);
}
- for (env = first_cpu; env != NULL; env = env->next_cpu) {
- qemu_wait_io_event_common(ENV_GET_CPU(env));
- }
+ qemu_for_each_cpu(qemu_wait_one_io_event_common, NULL);
}
static void qemu_kvm_wait_io_event(CPUArchState *env)
@@ -825,7 +826,6 @@ static void tcg_signal_cpu_creation(CPUState *cpu, void
*data)
static void *qemu_tcg_cpu_thread_fn(void *arg)
{
CPUState *cpu = arg;
- CPUArchState *env;
qemu_tcg_init_cpu_signals();
qemu_thread_get_self(cpu->thread);
@@ -839,9 +839,7 @@ static void *qemu_tcg_cpu_thread_fn(void *arg)
qemu_cond_wait(tcg_halt_cond, &qemu_global_mutex);
/* process any pending work */
- for (env = first_cpu; env != NULL; env = env->next_cpu) {
- qemu_wait_io_event_common(ENV_GET_CPU(env));
- }
+ qemu_for_each_cpu(qemu_wait_one_io_event_common, NULL);
}
while (1) {
--
1.8.1.4
- Re: [Qemu-devel] [PATCH qom-cpu 05/59] cpus: Simplify pause_all_vcpus(), (continued)
- [Qemu-devel] [PATCH qom-cpu 06/59] cpus: Simplify resume_all_vcpus(), Andreas Färber, 2013/06/09
- [Qemu-devel] [PATCH qom-cpu 07/59] cpus: Simplify set_numa_modes(), Andreas Färber, 2013/06/09
- [Qemu-devel] [PATCH qom-cpu 08/59] cpus: Simplify qmp_inject_nmi(), Andreas Färber, 2013/06/09
- [Qemu-devel] [PATCH qom-cpu 09/59] cpus: Simplify hw_error(), Andreas Färber, 2013/06/09
- [Qemu-devel] [PATCH qom-cpu 10/59] cpus: Simplify qemu_tcg_wait_io_event() and qemu_tcg_cpu_thread_fn(),
Andreas Färber <=
- [Qemu-devel] [PATCH qom-cpu 11/59] monitor: Simplify do_inject_mce(), Andreas Färber, 2013/06/09
- [Qemu-devel] [PATCH qom-cpu 12/59] gdbstub: Simplify find_cpu(), Andreas Färber, 2013/06/09
- [Qemu-devel] [PATCH qom-cpu 14/59] cpus: Change cpu_thread_is_idle() argument to CPUState, Andreas Färber, 2013/06/09
- [Qemu-devel] [PATCH qom-cpu 15/59] cpus: Change qemu_kvm_wait_io_event() argument to CPUState, Andreas Färber, 2013/06/09
- [Qemu-devel] [PATCH qom-cpu 13/59] cpu: Change cpu_exit() argument to CPUState, Andreas Färber, 2013/06/09
- [Qemu-devel] [PATCH qom-cpu 17/59] cpus: Change qemu_kvm_init_cpu_signals() argument to CPUState, Andreas Färber, 2013/06/09