qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH qom-cpu 48/59] cpus: Abstract all_cpu_threads_idle()


From: Andreas Färber
Subject: [Qemu-devel] [PATCH qom-cpu 48/59] cpus: Abstract all_cpu_threads_idle() with qemu_for_each_cpu()
Date: Sun, 9 Jun 2013 21:13:15 +0200

Signed-off-by: Andreas Färber <address@hidden>
---
 cpus.c | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/cpus.c b/cpus.c
index 7428389..506a0c8 100644
--- a/cpus.c
+++ b/cpus.c
@@ -77,16 +77,24 @@ static bool cpu_thread_is_idle(CPUState *cpu)
     return true;
 }
 
-static bool all_cpu_threads_idle(void)
+static void one_cpu_thread_idle(CPUState *cpu, void *data)
 {
-    CPUArchState *env;
+    bool *all_idle = data;
 
-    for (env = first_cpu; env != NULL; env = env->next_cpu) {
-        if (!cpu_thread_is_idle(ENV_GET_CPU(env))) {
-            return false;
-        }
+    if (!*all_idle) {
+        return;
     }
-    return true;
+    if (!cpu_thread_is_idle(cpu)) {
+        *all_idle = false;
+    }
+}
+
+static bool all_cpu_threads_idle(void)
+{
+    bool ret = true;
+
+    qemu_for_each_cpu(one_cpu_thread_idle, &ret);
+    return ret;
 }
 
 /***********************************************************/
-- 
1.8.1.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]