qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 0/9] RCUification of the memory API, part 2
@ 2015-02-06 16:55 Paolo Bonzini
  2015-02-06 16:55 ` [Qemu-devel] [PATCH 1/9] exec: introduce cpu_reload_memory_map Paolo Bonzini
                   ` (8 more replies)
  0 siblings, 9 replies; 16+ messages in thread
From: Paolo Bonzini @ 2015-02-06 16:55 UTC (permalink / raw)
  To: qemu-devel; +Cc: Mike Day, famz, stefanha

Part 2 converts ram_list to RCU.  It is enough of a base for Stefan's
work on thread-safe migration bitmaps.

Part 3 (not yet posted because it won't be in 2.3 anyway) 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.

Paolo

v1->v2: add comment in cpu_reload_memory_map [Fam]
	do not remove ram_list mutex [Fam]
	some improvements to test-rcu-list

v2->v3: use explicit memory barriers when accessing ram_list.version [Fam]
        clean up some comments [Fam]
	add more comments about required locks

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
  rcu: prod call_rcu thread when calling synchronize_rcu
  exec: protect mru_block with RCU

 arch_init.c                  |  73 +++++++----
 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, 775 insertions(+), 144 deletions(-)
 create mode 100644 include/qemu/rcu_queue.h
 create mode 100644 tests/test-rcu-list.c

-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 16+ messages in thread
* [Qemu-devel] [PATCH v2 0/9] RCUification of the memory API, part 2
@ 2015-02-03 12:52 Paolo Bonzini
  2015-02-03 12:52 ` [Qemu-devel] [PATCH 9/9] Convert ram_list to RCU Paolo Bonzini
  0 siblings, 1 reply; 16+ messages in thread
From: Paolo Bonzini @ 2015-02-03 12:52 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, famz, fred.konrad

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

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2015-02-11 11:19 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-06 16:55 [Qemu-devel] [PATCH v3 0/9] RCUification of the memory API, part 2 Paolo Bonzini
2015-02-06 16:55 ` [Qemu-devel] [PATCH 1/9] exec: introduce cpu_reload_memory_map Paolo Bonzini
2015-02-06 16:55 ` [Qemu-devel] [PATCH 2/9] exec: make iotlb RCU-friendly Paolo Bonzini
2015-02-06 16:55 ` [Qemu-devel] [PATCH 3/9] exec: RCUify AddressSpaceDispatch Paolo Bonzini
2015-02-06 16:55 ` [Qemu-devel] [PATCH 4/9] rcu: prod call_rcu thread when calling synchronize_rcu Paolo Bonzini
2015-02-06 16:55 ` [Qemu-devel] [PATCH 5/9] rcu: introduce RCU-enabled QLIST Paolo Bonzini
2015-02-06 16:55 ` [Qemu-devel] [PATCH 6/9] exec: protect mru_block with RCU Paolo Bonzini
2015-02-11  3:16   ` Fam Zheng
2015-02-06 16:55 ` [Qemu-devel] [PATCH 7/9] cosmetic changes preparing for the following patches Paolo Bonzini
2015-02-11  2:55   ` Fam Zheng
2015-02-06 16:55 ` [Qemu-devel] [PATCH 8/9] exec: convert ram_list to QLIST Paolo Bonzini
2015-02-11  3:28   ` Fam Zheng
2015-02-06 16:55 ` [Qemu-devel] [PATCH 9/9] Convert ram_list to RCU Paolo Bonzini
2015-02-11  8:47   ` Fam Zheng
2015-02-11 11:19     ` Paolo Bonzini
  -- strict thread matches above, loose matches on Subject: below --
2015-02-03 12:52 [Qemu-devel] [PATCH v2 0/9] RCUification of the memory API, part 2 Paolo Bonzini
2015-02-03 12:52 ` [Qemu-devel] [PATCH 9/9] Convert ram_list to RCU Paolo Bonzini

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).