This is a rebase of Paolo's May patchset on v1.6.0-rc3 The tree is availavle on github:
https://github.com/ncultra/qemu/tree/rcu-for-1.7 Mike Day (3): fix #include directive for rcu header include osdep.h for definition of glue(a,b) fix pointer reference to rcu_assign_pointer Paolo Bonzini (11): qemu-thread: add QemuEvent rcu: add rcu library qemu-thread: register threads with RCU rcu: add call_rcu rcu: add rcutorture rcu: allow nested calls to rcu_thread_offline/rcu_thread_online qemu-thread: report RCU quiescent states event loop: report RCU quiescent states cpus: report RCU quiescent states block: report RCU quiescent states migration: report RCU quiescent states aio-posix.c | 9 +- aio-win32.c | 7 + block/raw-posix.c | 3 + block/raw-win32.c | 3 + cpus.c | 3 + docs/rcu.txt | 434 +++++++++++++++++++++++++++++++++++++++++++ hw/9pfs/virtio-9p-synth.c | 1 + include/qemu/queue.h | 13 ++ include/qemu/rcu-pointer.h | 110 +++++++++++ include/qemu/rcu.h | 208 +++++++++++++++++++++ include/qemu/thread-posix.h | 8 + include/qemu/thread-win32.h | 4 + include/qemu/thread.h | 10 +- kvm-all.c | 3 + libcacard/Makefile | 3 +- main-loop.c | 7 +- migration.c | 2 + tests/Makefile | 4 +- tests/rcutorture.c | 439 ++++++++++++++++++++++++++++++++++++++++++++ util/Makefile.objs | 1 + util/qemu-thread-posix.c | 173 ++++++++++++++++- util/qemu-thread-win32.c | 44 ++++- util/rcu.c | 320 ++++++++++++++++++++++++++++++++ 23 files changed, 1796 insertions(+), 13 deletions(-) create mode 100644 docs/rcu.txt create mode 100644 include/qemu/rcu-pointer.h create mode 100644 include/qemu/rcu.h create mode 100644 tests/rcutorture.c create mode 100644 util/rcu.c -- 1.8.3.1