From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56209) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WheP5-0005LN-EL for qemu-devel@nongnu.org; Tue, 06 May 2014 08:23:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WheP0-0007aO-Kl for qemu-devel@nongnu.org; Tue, 06 May 2014 08:23:23 -0400 Received: from mx1.redhat.com ([209.132.183.28]:30868) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WheP0-0007aK-DL for qemu-devel@nongnu.org; Tue, 06 May 2014 08:23:18 -0400 Date: Tue, 6 May 2014 14:23:04 +0200 From: Stefan Hajnoczi Message-ID: <20140506122304.GH15810@stefanha-thinkpad.redhat.com> References: <1397838243-17921-1-git-send-email-s.vorobiov@samsung.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1397838243-17921-1-git-send-email-s.vorobiov@samsung.com> Subject: Re: [Qemu-devel] [PATCH v3] glib: fix g_poll early timeout on windows List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stanislav Vorobiov Cc: sw@weilnetz.de, sangho1206.park@samsung.com, qemu-devel@nongnu.org, alex@alex.org.uk, syeon.hwang@samsung.com, pbonzini@redhat.com On Fri, Apr 18, 2014 at 08:24:03PM +0400, Stanislav Vorobiov wrote: > From: Sangho Park > > 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 > --- > 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