summary of the model: Three qemu-wide clock source allowed in system. And each AioContext has three corresponding timer list to run timer against clocksource.
rfcv2: drop patches about alarm-timer(if timeout of poll will not satisfy, will come back to it) fix qemu_clock_enable sync problem (Thanks for Jan and Stefan) fix process=true when aio_poll run timers (Thanks for Alex) Liu Ping Fan (5): timer: protect timers_state with lock timer: pick out timer list info from QemuClock timer: make qemu_clock_enable sync between disable and timer's cb timer: associate three timerlists with AioContext timer: run timers on aio_poll aio-posix.c | 2 + async.c | 9 +++ cpus.c | 26 ++++++-- include/block/aio.h | 13 ++++ include/qemu/timer.h | 24 ++++++- main-loop.c | 2 - qemu-timer.c | 184 ++++++++++++++++++++++++++++++++++++--------------- 7 files changed, 198 insertions(+), 62 deletions(-) -- 1.8.1.4