From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:41618) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TQEG0-00032n-5u for qemu-devel@nongnu.org; Mon, 22 Oct 2012 05:25:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TQEFu-00071w-Fg for qemu-devel@nongnu.org; Mon, 22 Oct 2012 05:25:12 -0400 Received: from e28smtp09.in.ibm.com ([122.248.162.9]:53576) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TQEFt-0006yF-S9 for qemu-devel@nongnu.org; Mon, 22 Oct 2012 05:25:06 -0400 Received: from /spool/local by e28smtp09.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 22 Oct 2012 14:55:04 +0530 Received: from d28av01.in.ibm.com (d28av01.in.ibm.com [9.184.220.63]) by d28relay04.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id q9M9OOiG56950954 for ; Mon, 22 Oct 2012 14:54:24 +0530 Received: from d28av01.in.ibm.com (loopback [127.0.0.1]) by d28av01.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id q9MEsFJa028701 for ; Mon, 22 Oct 2012 14:54:16 GMT From: Liu Ping Fan Date: Mon, 22 Oct 2012 17:23:54 +0800 Message-Id: <1350897839-29593-12-git-send-email-pingfank@linux.vnet.ibm.com> In-Reply-To: <1350897839-29593-1-git-send-email-pingfank@linux.vnet.ibm.com> References: <1350897839-29593-1-git-send-email-pingfank@linux.vnet.ibm.com> Subject: [Qemu-devel] [patch v4 11/16] vcpu: push mmio dispatcher out of big lock List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi , Marcelo Tosatti , Avi Kivity , Anthony Liguori , Jan Kiszka , Paolo Bonzini Signed-off-by: Liu Ping Fan --- kvm-all.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/kvm-all.c b/kvm-all.c index b3fa597..3d7ae18 100644 --- a/kvm-all.c +++ b/kvm-all.c @@ -1562,12 +1562,15 @@ int kvm_cpu_exec(CPUArchState *env) break; case KVM_EXIT_MMIO: DPRINTF("handle_mmio\n"); + qemu_mutex_unlock_iothread(); set_context_type(1); cpu_physical_memory_rw(run->mmio.phys_addr, run->mmio.data, run->mmio.len, run->mmio.is_write); set_context_type(0); + qemu_mutex_lock_iothread(); + ret = 0; break; case KVM_EXIT_IRQ_WINDOW_OPEN: -- 1.7.4.4