From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40700) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YIcy9-0007H3-RA for qemu-devel@nongnu.org; Tue, 03 Feb 2015 07:52:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YIcy2-00087b-PL for qemu-devel@nongnu.org; Tue, 03 Feb 2015 07:52:41 -0500 Received: from mail-wi0-x22d.google.com ([2a00:1450:400c:c05::22d]:47183) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YIcy2-00087N-Hg for qemu-devel@nongnu.org; Tue, 03 Feb 2015 07:52:34 -0500 Received: by mail-wi0-f173.google.com with SMTP id r20so24043852wiv.0 for ; Tue, 03 Feb 2015 04:52:33 -0800 (PST) Sender: Paolo Bonzini From: Paolo Bonzini Date: Tue, 3 Feb 2015 13:52:19 +0100 Message-Id: <1422967948-3261-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PATCH v2 0/9] RCUification of the memory API, part 2 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, famz@redhat.com, fred.konrad@greensocs.com 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