From: Dor L. <dor...@qu...> - 2008-04-23 22:35:50
|
while investigating the revert of "fix sci irq set when acpi timer" I discovered the reason. Please also re-revert the original patch. Thanks, Dor ------------- [PATCH] Don't quit IO thread before all lvcpus stopped Call pause_all_threads() before exiting the i/o thread main loop. This scenario happened on system_powerdown request: The vcpu eventually makes pm_ioport_writew (soft power off) access that calls qemu_system_shutdown_request. It causes the i/o thread to exit although the vcpu did not exit yet. One of the symptoms is that vcpu may trigger timers thus causing a segfault since the i/o thread stopped the timer. [This is what happened on the sci irq timer, now there is no need to revert it[ Signed-off-by: Dor Laor <dor...@qu...> --- qemu/qemu-kvm.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/qemu/qemu-kvm.c b/qemu/qemu-kvm.c index 50589a7..78127de 100644 --- a/qemu/qemu-kvm.c +++ b/qemu/qemu-kvm.c @@ -452,7 +452,9 @@ int kvm_main_loop(void) pthread_mutex_unlock(&qemu_mutex); } + pause_all_threads(); pthread_mutex_unlock(&qemu_mutex); + return 0; } -- 1.5.4.1 |