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

Reply via email to