Part 2 converts ram_list to RCU. It is enough of a base for Stefan's work on thread-safe migration bitmaps. TCG folks, please review.
Parts 3 (posted today) and 3.5 (to be done) will separate removal and reclamation of device data. Part 4 will switch KVM MMIO and PIO to unlocked lookup and convert a single device to unlocked access. v1->v2: add comment in cpu_reload_memory_map [Fam] do not remove ram_list mutex [Fam] some improvements to test-rcu-list Mike Day (4): rcu: introduce RCU-enabled QLIST cosmetic changes preparing for the following patches exec: convert ram_list to QLIST Convert ram_list to RCU Paolo Bonzini (5): exec: introduce cpu_reload_memory_map exec: make iotlb RCU-friendly exec: RCUify AddressSpaceDispatch exec: protect mru_block with RCU rcu: prod call_rcu thread when calling synchronize_rcu arch_init.c | 70 ++++++---- cpu-exec.c | 33 +++++ cpus.c | 2 +- cputlb.c | 13 +- exec.c | 294 ++++++++++++++++++++++++++++------------- hw/9pfs/virtio-9p-synth.c | 2 +- hw/i386/intel_iommu.c | 3 + hw/pci-host/apb.c | 1 + hw/ppc/spapr_iommu.c | 1 + include/exec/cpu-all.h | 13 +- include/exec/cputlb.h | 2 +- include/exec/exec-all.h | 5 +- include/qemu/queue.h | 11 -- include/qemu/rcu_queue.h | 134 +++++++++++++++++++ include/qom/cpu.h | 1 + scripts/dump-guest-memory.py | 8 +- softmmu_template.h | 4 +- tests/Makefile | 5 +- tests/test-rcu-list.c | 306 +++++++++++++++++++++++++++++++++++++++++++ util/rcu.c | 8 +- 20 files changed, 767 insertions(+), 149 deletions(-) create mode 100644 include/qemu/rcu_queue.h create mode 100644 tests/test-rcu-list.c -- 1.8.3.1