qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v5] glib: fix g_poll early timeout on windows


From: Stanislav Vorobiov
Subject: Re: [Qemu-devel] [PATCH v5] glib: fix g_poll early timeout on windows
Date: Fri, 16 May 2014 10:44:46 +0400
User-agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.5.0

Hi,

Could you please provide URL to download that image so that I
could reproduce this problem ? Also, qemu command line would be nice.

btw, I won't be able to look into this during next week, so some help
from someone else would be nice. I'll try to take a look later today
however...

On 05/16/2014 09:00 AM, Stefan Weil wrote:
> Am 09.05.2014 20:57, schrieb Stefan Hajnoczi:
>> On Thu, May 08, 2014 at 12:47:10PM +0400, Stanislav Vorobiov wrote:
>>> From: Sangho Park <address@hidden>
>>>
>>> g_poll has a problem on Windows when using
>>> timeouts < 10ms, in glib/gpoll.c:
>>>
>>> /* If not, and we have a significant timeout, poll again with
>>>  * timeout then. Note that this will return indication for only
>>>  * one event, or only for messages. We ignore timeouts less than
>>>  * ten milliseconds as they are mostly pointless on Windows, the
>>>  * MsgWaitForMultipleObjectsEx() call will timeout right away
>>>  * anyway.
>>>  */
>>> if (retval == 0 && (timeout == INFINITE || timeout >= 10))
>>>   retval = poll_rest (poll_msgs, handles, nhandles, fds, nfds, timeout);
>>>
>>> so whenever g_poll is called with timeout < 10ms it does
>>> a quick poll instead of wait, this causes significant performance
>>> degradation of QEMU, thus we should use WaitForMultipleObjectsEx
>>> directly
>>>
>>> Signed-off-by: Stanislav Vorobiov <address@hidden>
>>> ---
>>>  include/glib-compat.h |    9 +++-
>>>  util/oslib-win32.c    |  112 
>>> +++++++++++++++++++++++++++++++++++++++++++++++++
>>>  2 files changed, 120 insertions(+), 1 deletion(-)
>>
>> Thanks, applied to my block tree:
>> https://github.com/stefanha/qemu/commits/block
>>
>> Stefan
>>
> 
> 
> 
> Hi,
> 
> the patch breaks hard disk i/o: a 64 bit executable built with MinGW-w64
> will no longer boot a ReactOS image (BIOS fails to detect a bootable
> disk). Booting a Linux CDROM seems to work and is indeed much faster.
> 
> Regards
> Stefan
> 
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]