From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: borntraeger@de.ibm.com, famz@redhat.com, stefanha@redhat.com
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 [thread overview]
Message-ID: <1421938053-10318-1-git-send-email-pbonzini@redhat.com> (raw)
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
next reply other threads:[~2015-01-22 14:47 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-22 14:47 Paolo Bonzini [this message]
2015-01-22 14:47 ` [Qemu-devel] [PATCH 01/15] rcu: add rcu library Paolo Bonzini
2015-01-26 3:13 ` Fam Zheng
2015-01-22 14:47 ` [Qemu-devel] [PATCH 02/15] rcu: add rcutorture Paolo Bonzini
2015-01-26 3:31 ` Fam Zheng
2015-01-22 14:47 ` [Qemu-devel] [PATCH 03/15] rcu: allow nesting of rcu_read_lock/rcu_read_unlock Paolo Bonzini
2015-01-26 3:32 ` Fam Zheng
2015-01-22 14:47 ` [Qemu-devel] [PATCH 04/15] rcu: add call_rcu Paolo Bonzini
2015-01-26 6:04 ` Fam Zheng
2015-01-22 14:47 ` [Qemu-devel] [PATCH 05/15] memory: remove assertion on memory_region_destroy Paolo Bonzini
2015-01-26 6:04 ` Fam Zheng
2015-01-22 14:47 ` [Qemu-devel] [PATCH 06/15] memory: protect current_map by RCU Paolo Bonzini
2015-01-26 6:16 ` Fam Zheng
2015-01-22 14:47 ` [Qemu-devel] [PATCH 07/15] memory: avoid ref/unref in memory_region_find Paolo Bonzini
2015-01-26 6:24 ` Fam Zheng
2015-01-26 9:19 ` Paolo Bonzini
2015-01-22 14:47 ` [Qemu-devel] [PATCH 08/15] exec: introduce cpu_reload_memory_map Paolo Bonzini
2015-01-22 14:47 ` [Qemu-devel] [PATCH 09/15] exec: make iotlb RCU-friendly Paolo Bonzini
2015-01-22 14:47 ` [Qemu-devel] [PATCH 10/15] exec: RCUify AddressSpaceDispatch Paolo Bonzini
2015-01-28 5:45 ` Fam Zheng
2015-01-28 9:44 ` Paolo Bonzini
2015-02-03 10:07 ` Paolo Bonzini
2015-01-22 14:47 ` [Qemu-devel] [PATCH 11/15] rcu: introduce RCU-enabled QLIST Paolo Bonzini
2015-01-22 14:47 ` [Qemu-devel] [PATCH 12/15] exec: protect mru_block with RCU Paolo Bonzini
2015-01-22 14:47 ` [Qemu-devel] [PATCH 13/15] cosmetic changes preparing for the following patches Paolo Bonzini
2015-01-22 14:47 ` [Qemu-devel] [PATCH 14/15] exec: convert ram_list to QLIST Paolo Bonzini
2015-01-22 14:47 ` [Qemu-devel] [PATCH 15/15] Convert ram_list to RCU Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1421938053-10318-1-git-send-email-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
--cc=borntraeger@de.ibm.com \
--cc=famz@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).