qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCHv2] [RFC 0/7] aio / timers: Add AioContext timers and


From: Alex Bligh
Subject: [Qemu-devel] [PATCHv2] [RFC 0/7] aio / timers: Add AioContext timers and use ppoll
Date: Sat, 20 Jul 2013 19:06:36 +0100

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(-)

-- 
1.7.9.5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]