From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60790) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VALtn-0005rW-UB for qemu-devel@nongnu.org; Fri, 16 Aug 2013 11:25:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VALte-0005Hy-NA for qemu-devel@nongnu.org; Fri, 16 Aug 2013 11:25:11 -0400 Received: from mail-wg0-x229.google.com ([2a00:1450:400c:c00::229]:38207) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VALte-0005GU-GL for qemu-devel@nongnu.org; Fri, 16 Aug 2013 11:25:02 -0400 Received: by mail-wg0-f41.google.com with SMTP id l18so1438953wgh.4 for ; Fri, 16 Aug 2013 08:25:01 -0700 (PDT) Date: Fri, 16 Aug 2013 17:24:58 +0200 From: Stefan Hajnoczi Message-ID: <20130816152458.GB12878@stefanha-thinkpad.redhat.com> References: <1376598879-18976-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: <1376598879-18976-1-git-send-email-alex@alex.org.uk> Subject: Re: [Qemu-devel] [PATCHv11 00/31] 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 , Jan Kiszka , qemu-devel@nongnu.org, liu ping fan , Stefan Hajnoczi , Paolo Bonzini , MORITA Kazutaka , rth@twiddle.net On Thu, Aug 15, 2013 at 09:34:08PM +0100, Alex Bligh wrote: > [ This patch set is available from git at: > https://github.com/abligh/qemu/tree/aio-timers11 > As autogenerated patch 30 of the series is too large for the mailing list. ] > > 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. Equally, alterations to use_icount > are untested. > > Caveat: I have had to alter tests/test-aio.c so the following error > no longer occurs. > > 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 was 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. > > Note also the comment on patch 19 in relation to a possible bug > in cpus.c. > > The penultimate patch is patch which is created in an automated manner > using scripts/switch-timer-api, added in this patch set. It violates some > coding standards (e.g. line length >= 80 characters), but this is preferable > in terms of giving a provably correct conversion. This patch is too > large for the mailing list, so > > EITHER: get it from git at the URL at the top of this message. > > OR: Do the following: > 1. Apply patches 0000-0029 inclusive > 2. Run scripts/switch-timer-api > 3. git commit -a (+ suitable commit message) > 4. Apply patch 0031 > > If there is demand I can split it one commit per file. > > This patch set has been compile tested & make check tested on a > 'christmas-tree' configuration, meaning a configuration with every --enable-* > value tested that can be easily configured on Ubuntu Precise, > after application of each patch. Please run qemu-iotests on this series and fix any failures. It is failing with "I/O thread has spun for 1000 iterations". Stefan