Commit de7ea885 authored by Paolo Bonzini's avatar Paolo Bonzini
Browse files

kvm: Switch to unlocked MMIO



Do not take the BQL before dispatching MMIO requests of KVM VCPUs.
Instead, address_space_rw will do it if necessary. This enables completely
BQL-free MMIO handling in KVM mode for upcoming devices with fine-grained
locking.

Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Message-Id: <1434646046-27150-10-git-send-email-pbonzini@redhat.com>
parent 7070e085
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -1814,13 +1814,12 @@ int kvm_cpu_exec(CPUState *cpu)
            break;
        case KVM_EXIT_MMIO:
            DPRINTF("handle_mmio\n");
            qemu_mutex_lock_iothread();
            /* Called outside BQL */
            address_space_rw(&address_space_memory,
                             run->mmio.phys_addr, attrs,
                             run->mmio.data,
                             run->mmio.len,
                             run->mmio.is_write);
            qemu_mutex_unlock_iothread();
            ret = 0;
            break;
        case KVM_EXIT_IRQ_WINDOW_OPEN: