And here we are... These are the changes required to make the BQL optional for memory access, and use that support in KVM. For now, only one device model is changed to do unlocked accesses.
Please review! Jan Kiszka (4): memory: Add global-locking property to memory regions memory: Provide address_space_rw_unlocked kvm: First step to push iothread lock out of inner run loop kvm: Switch to unlocked PIO Paolo Bonzini (4): exec: move rcu_read_lock/unlock to address_space_translate callers exec: mark unassigned_io_ops as unlocked acpi: mark PMTIMER as unlocked kvm: Switch to unlocked MMIO exec.c | 75 ++++++++++++++++++++++++++++++++++++++++++++++----- hw/acpi/core.c | 1 + hw/vfio/common.c | 7 +++-- include/exec/memory.h | 48 ++++++++++++++++++++++++++++++++- kvm-all.c | 23 ++++++++++------ memory.c | 17 +++++++----- target-i386/kvm.c | 18 +++++++++++++ target-mips/kvm.c | 4 +++ target-ppc/kvm.c | 4 +++ translate-all.c | 3 +++ 10 files changed, 177 insertions(+), 23 deletions(-) -- 2.3.0