Patchwork [v5,8/8] vcpu: push mmio dispatcher out of big lock

login
register
mail settings
Submitter pingfank@linux.vnet.ibm.com
Date Oct. 28, 2012, 11:48 p.m.
Message ID <1351468127-15025-9-git-send-email-pingfank@linux.vnet.ibm.com>
Download mbox | patch
Permalink /patch/194769/
State New
Headers show

Comments

pingfank@linux.vnet.ibm.com - Oct. 28, 2012, 11:48 p.m.
Signed-off-by: Liu Ping Fan <pingfank@linux.vnet.ibm.com>
---
 kvm-all.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

Patch

diff --git a/kvm-all.c b/kvm-all.c
index c2c6909..e92e43c 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -1573,10 +1573,14 @@  int kvm_cpu_exec(CPUArchState *env)
             break;
         case KVM_EXIT_MMIO:
             DPRINTF("handle_mmio\n");
+            qemu_mutex_unlock_iothread();
+            qemu_thread_set_dispatch_type(DISPATCH_MMIO);
             cpu_physical_memory_rw(run->mmio.phys_addr,
                                    run->mmio.data,
                                    run->mmio.len,
                                    run->mmio.is_write);
+            qemu_thread_reset_dispatch_type();
+            qemu_mutex_lock_iothread();
             ret = 0;
             break;
         case KVM_EXIT_IRQ_WINDOW_OPEN: