[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3] glib: fix g_poll early timeout on windows
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH v3] glib: fix g_poll early timeout on windows |
Date: |
Tue, 6 May 2014 14:23:04 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Fri, Apr 18, 2014 at 08:24:03PM +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 | 19 +++++++++
> include/qemu-common.h | 12 ------
> util/oslib-win32.c | 112
> +++++++++++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 131 insertions(+), 12 deletions(-)
What is the status of this patch?
I haven't followed the discussions around the issue but can review/merge
if there is agreement now.
Stefan
- Re: [Qemu-devel] [PATCH v3] glib: fix g_poll early timeout on windows,
Stefan Hajnoczi <=