From: Liu Ping Fan <pingf...@linux.vnet.ibm.com> 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 v3: http://lists.nongnu.org/archive/html/qemu-devel/2012-09/msg01474.html v4: http://lists.gnu.org/archive/html/qemu-devel/2012-10/msg03857.html v5: https://lists.gnu.org/archive/html/qemu-devel/2012-10/msg04867.html changes v5->v6: Apply fine-grain lock for all address space. Introduce separated interface to allow mmio dispatcher called with/without big lock. Liu Ping Fan (8): 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 local lock for address space memory: make mmio dispatch able to be out of biglock memory: introduce tls context to trace nested mmio request issue vcpu: push mmio dispatcher out of big lock cpu-common.h | 3 + docs/memory.txt | 4 + exec.c | 219 +++++++++++++++++++++++++++++++++++++++++++++---- hw/acpi_piix4.c | 2 +- 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 +- kvm-all.c | 6 +- memory-internal.h | 1 + memory.c | 1 + memory.h | 5 + qemu-thread.h | 7 ++ qom/object.c | 11 +-- 16 files changed, 340 insertions(+), 28 deletions(-) create mode 100644 include/qemu/atomic.h -- 1.7.4.4