qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH qom-cpu 31/59] monitor: Simplify do_info_numa()


From: Andreas Färber
Subject: [Qemu-devel] [PATCH qom-cpu 31/59] monitor: Simplify do_info_numa()
Date: Sun, 9 Jun 2013 21:12:58 +0200

Use new qemu_for_each_cpu().

Signed-off-by: Andreas Färber <address@hidden>
---
 monitor.c | 27 +++++++++++++++++++--------
 1 file changed, 19 insertions(+), 8 deletions(-)

diff --git a/monitor.c b/monitor.c
index 9be515c..f37bf3d 100644
--- a/monitor.c
+++ b/monitor.c
@@ -1803,21 +1803,32 @@ static void do_info_mtree(Monitor *mon, const QDict 
*qdict)
     mtree_info((fprintf_function)monitor_printf, mon);
 }
 
+typedef struct DoInfoNUMAData {
+    Monitor *mon;
+    int numa_node;
+} DoInfoNUMAData;
+
+static void do_info_numa_one(CPUState *cpu, void *data)
+{
+    DoInfoNUMAData *s = data;
+
+    if (cpu->numa_node == s->numa_node) {
+        monitor_printf(s->mon, " %d", cpu->cpu_index);
+    }
+}
+
 static void do_info_numa(Monitor *mon, const QDict *qdict)
 {
     int i;
-    CPUArchState *env;
-    CPUState *cpu;
+    DoInfoNUMAData s = {
+        .mon = mon,
+    };
 
     monitor_printf(mon, "%d nodes\n", nb_numa_nodes);
     for (i = 0; i < nb_numa_nodes; i++) {
         monitor_printf(mon, "node %d cpus:", i);
-        for (env = first_cpu; env != NULL; env = env->next_cpu) {
-            cpu = ENV_GET_CPU(env);
-            if (cpu->numa_node == i) {
-                monitor_printf(mon, " %d", cpu->cpu_index);
-            }
-        }
+        s.numa_node = i;
+        qemu_for_each_cpu(do_info_numa_one, &s);
         monitor_printf(mon, "\n");
         monitor_printf(mon, "node %d size: %" PRId64 " MB\n", i,
             node_mem[i] >> 20);
-- 
1.8.1.4




reply via email to

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