summaryrefslogtreecommitdiffstats
path: root/arch_init.c
diff options
context:
space:
mode:
authorAnthony Liguori2013-09-03 19:33:32 +0200
committerAnthony Liguori2013-09-03 19:33:32 +0200
commitaaa6a40194e9f204cb853f64ef3c1e170bb014e8 (patch)
treed2cfe475e7bcdafdf50fa2cca72a1a0050794af8 /arch_init.c
parentMerge remote-tracking branch 'kwolf/for-anthony' into staging (diff)
parenttarget-i386: Use #defines instead of magic numbers for CPUID cache info (diff)
downloadqemu-aaa6a40194e9f204cb853f64ef3c1e170bb014e8.tar.gz
qemu-aaa6a40194e9f204cb853f64ef3c1e170bb014e8.tar.xz
qemu-aaa6a40194e9f204cb853f64ef3c1e170bb014e8.zip
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging
QOM CPUState refactorings / X86CPU * Conversion of global CPU list to QTAILQ - preparing for CPU hot-unplug * Document X86CPU magic numbers for CPUID cache info # gpg: Signature made Tue 03 Sep 2013 10:59:22 AM CDT using RSA key ID 3E7E013F # gpg: Can't check signature: public key not found # By Andreas Färber (3) and Eduardo Habkost (1) # Via Andreas Färber * afaerber/tags/qom-cpu-for-anthony: target-i386: Use #defines instead of magic numbers for CPUID cache info cpu: Replace qemu_for_each_cpu() cpu: Use QTAILQ for CPU list a15mpcore: Use qemu_get_cpu() for generic timers
Diffstat (limited to 'arch_init.c')
-rw-r--r--arch_init.c11
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();
}