--On 22 October 2013 08:28:08 +0000 Xiexiangyou <xiexiang...@huawei.com>
wrote:
Hi:
I have run windows2008r2 guest with qemu-1.5.1/1.6(I have not test the
the newer version) for long time, the issue (guest in hangup state) will
come out.When guest in hangup state, QEMU main thread is blocked in
g_poll loop.
398c398,399
< uint32_t timeout = UINT32_MAX;
---
/* uint32_t timeout = UINT32_MAX; */
uint32_t timeout = 1000;
It seems can fix the problem, and rtc/hpet interrupt can inject into
guest again because of the "timeout", and guest will wake up . But maybe
the issue is also exist, because during the time before timeout , guest
also will lose rtc/hpet ticks.
I do not think that is the correct fix for 1.5.1/1.6; what you
are basically doing is limiting the wait in the mainloop to one
second (1.5.1/1.6 are in milliseconds); however, I believe there
may be other code that looks for infinite timeouts. Either there
is some other bug that this is masking (in which case it may
or may not be fixed in master / 1.7), or its a bug in the timer
stuff in 1.5.1/1.6 (which would not surprise me) which is likely
to have been fixed in master / 1.7.
--
Alex Bligh