From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:40307) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TBLGU-00063e-29 for qemu-devel@nongnu.org; Tue, 11 Sep 2012 03:52:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TBLGO-0007Fx-91 for qemu-devel@nongnu.org; Tue, 11 Sep 2012 03:52:09 -0400 Received: from mail-pb0-f45.google.com ([209.85.160.45]:53905) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TBLGO-0007Fq-3E for qemu-devel@nongnu.org; Tue, 11 Sep 2012 03:52:04 -0400 Received: by pbbrp12 with SMTP id rp12so439223pbb.4 for ; Tue, 11 Sep 2012 00:52:02 -0700 (PDT) From: Liu Ping Fan Date: Tue, 11 Sep 2012 15:51:41 +0800 Message-Id: <1347349912-15611-1-git-send-email-qemulist@gmail.com> Subject: [Qemu-devel] [PATCH V3 0/10] prepare unplug out of protection of global lock List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Jan Kiszka , Marcelo Tosatti , Avi Kivity , Anthony Liguori , Paolo Bonzini 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