From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47261) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V2IFx-0004VA-MJ for qemu-devel@nongnu.org; Thu, 25 Jul 2013 05:54:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V2IFw-0002Lw-Pz for qemu-devel@nongnu.org; Thu, 25 Jul 2013 05:54:45 -0400 Received: from mail-ea0-x22c.google.com ([2a00:1450:4013:c01::22c]:58678) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V2Hz3-0005CW-8V for qemu-devel@nongnu.org; Thu, 25 Jul 2013 05:37:17 -0400 Received: by mail-ea0-f172.google.com with SMTP id q10so795096eaj.17 for ; Thu, 25 Jul 2013 02:37:15 -0700 (PDT) Date: Thu, 25 Jul 2013 11:37:13 +0200 From: Stefan Hajnoczi Message-ID: <20130725093713.GG21033@stefanha-thinkpad.redhat.com> References: <1E8E204.8000201@redhat.com> <1374343603-29183-1-git-send-email-alex@alex.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1374343603-29183-1-git-send-email-alex@alex.org.uk> Subject: Re: [Qemu-devel] [PATCHv2] [RFC 0/7] aio / timers: Add AioContext timers and use ppoll List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alex Bligh Cc: Kevin Wolf , Anthony Liguori , qemu-devel@nongnu.org, Stefan Hajnoczi , Paolo Bonzini , rth@twiddle.net On Sat, Jul 20, 2013 at 07:06:36PM +0100, Alex Bligh wrote: > This patch series adds support for timers attached to an AioContext clock > which get called within aio_poll. > > In doing so it removes alarm timers and moves to use ppoll where possible. > > This patch set 'sort of' passes make check (see below for caveat) > including a new test harness for the aio timers, but has not been > tested much beyond that. In particular, the win32 changes have not > even been compile tested. > > Caveat: make check fails one test only with: > > ERROR:tests/test-aio.c:346:test_wait_event_notifier_noflush: assertion failed: (aio_poll(ctx, false)) > > As gar as I can tell, this check is incorrect, in that it checking aio_poll > makes progress when in fact it should not make progress. I fixed an issue > where aio_poll was (as far as I can tell) wrongly returning true on > a timeout, and that generated this error. > > Alex Bligh (7): > aio / timers: Remove alarm timers > aio / timers: qemu-timer.c utility functions and add list of clocks > aio / timers: add ppoll support with qemu_g_poll_ns > aio / timers: Make qemu_run_timers and qemu_run_all_timers return > progress > aio / timers: Add a clock to AioContext > aio / timers: Switch to ppoll, run AioContext timers in > aio_poll/aio_dispatch > aio / timers: Add test harness for AioContext timers > > aio-posix.c | 20 +- > aio-win32.c | 20 +- > async.c | 18 +- > configure | 19 ++ > include/block/aio.h | 5 + > include/qemu/timer.h | 25 +- > main-loop.c | 47 ++-- > qemu-timer.c | 619 +++++++++----------------------------------------- > tests/test-aio.c | 124 +++++++++- > vl.c | 5 +- > 10 files changed, 363 insertions(+), 539 deletions(-) This looks promising for QEMU 1.7. Please split into logical patches - some of the patches you posted are too big and do several independent things. Also please order patches so qemu.git remains bisectable - remove alarm timers after switch event loops to use timeouts. Stefan