diff options
author | Andreas Färber <afaerber@suse.de> | 2013-07-07 19:50:23 +0200 |
---|---|---|
committer | Andreas Färber <afaerber@suse.de> | 2013-09-03 12:25:55 +0200 |
commit | 38fcbd3f08375eb2986b9b63ccd4f593e71aa99d (patch) | |
tree | 59da51d17fb6e9aed5da12c26f2bebd8ccfb6dce /arch_init.c | |
parent | bdc44640cb33c90809376a262df871a1144d339a (diff) |
cpu: Replace qemu_for_each_cpu()
It was introduced to loop over CPUs from target-independent code, but
since commit 182735efaf956ccab50b6d74a4fed163e0f35660 target-independent
CPUState is used.
A loop can be considered more efficient than function calls in a loop,
and CPU_FOREACH() hides implementation details just as well, so use that
instead.
Suggested-by: Markus Armbruster <armbru@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
Diffstat (limited to 'arch_init.c')
-rw-r--r-- | arch_init.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/arch_init.c b/arch_init.c index 0471cd5a6b..e47e1399bb 100644 --- a/arch_init.c +++ b/arch_init.c @@ -1196,15 +1196,14 @@ static void mig_sleep_cpu(void *opq) much time in the VM. The migration thread will try to catchup. Workload will experience a performance drop. */ -static void mig_throttle_cpu_down(CPUState *cpu, void *data) -{ - async_run_on_cpu(cpu, mig_sleep_cpu, NULL); -} - static void mig_throttle_guest_down(void) { + CPUState *cpu; + qemu_mutex_lock_iothread(); - qemu_for_each_cpu(mig_throttle_cpu_down, NULL); + CPU_FOREACH(cpu) { + async_run_on_cpu(cpu, mig_sleep_cpu, NULL); + } qemu_mutex_unlock_iothread(); } |