|
From: | Alex Bligh |
Subject: | Re: [Qemu-devel] BUG: RTC issue when Windows guest is idle |
Date: | Mon, 21 Oct 2013 16:13:58 +0100 |
--On 21 October 2013 15:56:27 +0100 Alex Bligh <address@hidden> wrote:
I'm not sure whether the RTC is meant to be generating some sort of qemu_notify() here, or using a timer, or what, but it should be doing something to break out of the select() loop. Stefan - any idea?
To answer my own question, I think it will be using hw/timer/mc146818rtc.c which (on brief inspection) appears to use the timer code to set a timer whenever the next event should go off. There was previously an 'unusual state of affairs' (I won't go as far as to say 'bug') where if the select loop had no FDs to listen to, it did not block for ever (UINT32_MAX as was) but exited immediately; I believe that check may have miscounted existence of the qemu notify fd. There was also (I think) some confusion between UINT32_MAX and UINT64_MAX. I believe my timer fixes plus a change or two from Stefan H may have fixed this - it certainly makes the code easier to read. Unfortunately these would be intrusive to backport. Anyway, I'd be interested to know whether it works on master. -- Alex Bligh
[Prev in Thread] | Current Thread | [Next in Thread] |