The patches has been rebased onto Alex's [RFC] [PATCHv5 00/16] aio / timers: Add AioContext timers and use ppoll permalink.gmane.org/gmane.comp.emulators.qemu/226333
For some other complied error issue, I can not finish compiling, will fix it later. Changes since last version: 1. drop the overlap partition and leave only thread-safe stuff 2. For timers_state, since currently, only vm_clock can be read outside BQL. There is no protection with ticks(since the protection will cost more in read_tsc path). 3. use light weight QemuEvent to re-implement the qemu_clock_enable(foo,false) Liu Ping Fan (2): timer: protect timers_state's clock with seqlock timer: make qemu_clock_enable sync between disable and timer's cb Paolo Bonzini (2): seqlock: introduce read-write seqlock qemu-thread: add QemuEvent cpus.c | 36 +++++++++++--- include/qemu/seqlock.h | 72 +++++++++++++++++++++++++++ include/qemu/thread-posix.h | 8 +++ include/qemu/thread-win32.h | 4 ++ include/qemu/thread.h | 7 +++ include/qemu/timer.h | 1 + qemu-timer.c | 11 +++++ util/qemu-thread-posix.c | 116 ++++++++++++++++++++++++++++++++++++++++++++ util/qemu-thread-win32.c | 26 ++++++++++ 9 files changed, 274 insertions(+), 7 deletions(-) create mode 100644 include/qemu/seqlock.h -- 1.8.1.4