This series aim to fix the rest race issue when run timers on multi-thread. (qemu_mod_ns has been fixed by Stefan by separated patches) Have rebased onto Alex's patches "[RFC] [PATCHv10 00/31] aio / timers: Add AioContext timers and use ppoll"
v2: 1. fix comment in commit and code 2. fix race issue for qemu_clock_enable(foo,disable) 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 | 4 ++ qemu-timer.c | 53 +++++++++++++++++++- util/qemu-thread-posix.c | 116 ++++++++++++++++++++++++++++++++++++++++++++ util/qemu-thread-win32.c | 26 ++++++++++ 9 files changed, 319 insertions(+), 7 deletions(-) create mode 100644 include/qemu/seqlock.h -- 1.8.1.4