v1: https://lists.gnu.org/archive/html/qemu-devel/2012-07/msg03312.html
v2: http://lists.gnu.org/archive/html/qemu-devel/2012-08/msg01275.html changes v2->v3 --remove refcnt on MemroyRegion --add ref/unref for MemoryRegionOps --make memory view protected by mem_map_lock, delay to adopt rcu style. Liu Ping Fan (11): atomic: introduce atomic operations qom: apply atomic on object's refcount hotplug: introduce qdev_unplug_complete() to remove device from views pci: remove pci device from mem view when unplug memory: introduce ref,unref interface for MemoryRegionOps memory: make mmio dispatch able to be out of biglock memory: implement e1000's MemoryRegionOps ref/unref qom: introduce reclaimer to release obj in async vcpu: make QemuThread as tls to store thread-self info vcpu: introduce lockmap vcpu: push mmio dispatcher out of big lock cpus.c | 19 +++++++++ exec.c | 95 +++++++++++++++++++++++++++++++++++++++++++++- hw/acpi_piix4.c | 2 +- hw/e1000.c | 17 ++++++++ hw/pci.c | 13 ++++++- hw/pci.h | 1 + hw/qdev.c | 26 ++++++++++++ hw/qdev.h | 3 +- include/qemu/atomic.h | 63 ++++++++++++++++++++++++++++++ include/qemu/object.h | 3 +- include/qemu/reclaimer.h | 30 ++++++++++++++ kvm-all.c | 3 + main-loop.c | 5 ++ memory.h | 3 + qemu-thread-posix.c | 30 ++++++++++++++ qemu-thread-posix.h | 7 +++ qemu-thread.h | 4 ++ qemu-tool.c | 5 ++ qom/Makefile.objs | 2 +- qom/object.c | 11 ++--- qom/reclaimer.c | 54 ++++++++++++++++++++++++++ vl.c | 4 ++ 22 files changed, 388 insertions(+), 12 deletions(-) create mode 100644 include/qemu/atomic.h create mode 100644 include/qemu/reclaimer.h create mode 100644 qom/reclaimer.c -- 1.7.4.4