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