From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:46174) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TVFOe-0006WQ-Dt for qemu-devel@nongnu.org; Mon, 05 Nov 2012 00:38:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TVFOd-0005P2-02 for qemu-devel@nongnu.org; Mon, 05 Nov 2012 00:38:52 -0500 Received: from mail-ob0-f173.google.com ([209.85.214.173]:37662) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TVFOc-0005Ov-R6 for qemu-devel@nongnu.org; Mon, 05 Nov 2012 00:38:50 -0500 Received: by mail-ob0-f173.google.com with SMTP id wc18so4916290obb.4 for ; Sun, 04 Nov 2012 21:38:50 -0800 (PST) From: Liu Ping Fan Date: Mon, 5 Nov 2012 13:38:36 +0800 Message-Id: <1352093924-17598-1-git-send-email-qemulist@gmail.com> Subject: [Qemu-devel] [PATCH v6 0/8] push mmio dispatch out of big lock List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Peter Maydell , Jan Kiszka , Marcelo Tosatti , Avi Kivity , Anthony Liguori , Stefan Hajnoczi , Paolo Bonzini From: Liu Ping Fan 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