With in-kernel irqchip support enabled, the vcpu threads sleep in kernel space while halted. Account for this difference in cpu_thread_is_idle.
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> --- cpus.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/cpus.c b/cpus.c index 975a6ce..d310b7e 100644 --- a/cpus.c +++ b/cpus.c @@ -148,7 +148,8 @@ static bool cpu_thread_is_idle(CPUState *env) if (env->stopped || !vm_running) { return true; } - if (!env->halted || qemu_cpu_has_work(env)) { + if (!env->halted || qemu_cpu_has_work(env) || + (kvm_enabled() && kvm_irqchip_in_kernel())) { return false; } return true; -- 1.7.1