[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 00/15] RCUification of the memory API, parts 1 an
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH v2 00/15] RCUification of the memory API, parts 1 and 2 |
Date: |
Thu, 22 Jan 2015 15:47:18 +0100 |
Part 1 is patches 1-7, part 2 is patches 8-15.
Part 1 changes requested by reviewers were minimal, but no one really
provided a Reviewed-by so I'm reposting. The idea is to send a pull
request for part 1 soon.
These two parts are enough of a base for Stefan's work on thread-safe
migration bitmaps.
Part 3 (in the works) will separate removal and reclamation of device
data. Part 4 (already done) will switch KVM MMIO and PIO to unlocked
lookup and convert a single device to unlocked access.
Changes in part 1:
- patch 1: left aside for later (Peter)
- patch 2 (now patch 1): two small doc fixes (Fam)
- patch 3 (now patch 2): do not do both short and long tests (Fam)
do not drop rcu_register_thread in rcu_init (Fam)
TCG folks, please review patches 8 and 9. Note that they are not
yet ready for multiple TCG threads.
Paolo
Jan Kiszka (1):
memory: remove assertion on memory_region_destroy
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 (10):
rcu: add rcu library
rcu: add rcutorture
rcu: allow nesting of rcu_read_lock/rcu_read_unlock
rcu: add call_rcu
memory: protect current_map by RCU
memory: avoid ref/unref in memory_region_find
exec: introduce cpu_reload_memory_map
exec: make iotlb RCU-friendly
exec: RCUify AddressSpaceDispatch
exec: protect mru_block with RCU
arch_init.c | 66 ++++---
cpu-exec.c | 21 ++
cpus.c | 2 +-
cputlb.c | 13 +-
docs/rcu.txt | 387 ++++++++++++++++++++++++++++++++++++
exec.c | 304 +++++++++++++++++++----------
hw/9pfs/virtio-9p-synth.c | 3 +-
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/exec/memory.h | 5 +
include/qemu/atomic.h | 61 ++++++
include/qemu/queue.h | 24 +--
include/qemu/rcu.h | 147 ++++++++++++++
include/qemu/rcu_queue.h | 134 +++++++++++++
include/qemu/thread.h | 3 -
include/qom/cpu.h | 1 +
memory.c | 60 +++---
scripts/dump-guest-memory.py | 8 +-
softmmu_template.h | 4 +-
tests/Makefile | 10 +-
tests/rcutorture.c | 452 +++++++++++++++++++++++++++++++++++++++++++
tests/test-rcu-list.c | 326 +++++++++++++++++++++++++++++++
util/Makefile.objs | 1 +
util/rcu.c | 291 ++++++++++++++++++++++++++++
28 files changed, 2148 insertions(+), 200 deletions(-)
create mode 100644 docs/rcu.txt
create mode 100644 include/qemu/rcu.h
create mode 100644 include/qemu/rcu_queue.h
create mode 100644 tests/rcutorture.c
create mode 100644 tests/test-rcu-list.c
create mode 100644 util/rcu.c
--
1.8.3.1
- [Qemu-devel] [PATCH v2 00/15] RCUification of the memory API, parts 1 and 2,
Paolo Bonzini <=
- [Qemu-devel] [PATCH 02/15] rcu: add rcutorture, Paolo Bonzini, 2015/01/22
- [Qemu-devel] [PATCH 01/15] rcu: add rcu library, Paolo Bonzini, 2015/01/22
- [Qemu-devel] [PATCH 03/15] rcu: allow nesting of rcu_read_lock/rcu_read_unlock, Paolo Bonzini, 2015/01/22
- [Qemu-devel] [PATCH 05/15] memory: remove assertion on memory_region_destroy, Paolo Bonzini, 2015/01/22
- [Qemu-devel] [PATCH 06/15] memory: protect current_map by RCU, Paolo Bonzini, 2015/01/22