|
From: | Alex Bligh |
Subject: | Re: [Qemu-devel] BUG: RTC issue when Windows guest is idle |
Date: | Tue, 22 Oct 2013 10:35:52 +0100 |
--On 22 October 2013 08:28:08 +0000 Xiexiangyou <address@hidden> 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
[Prev in Thread] | Current Thread | [Next in Thread] |