aboutsummaryrefslogtreecommitdiff
path: root/kvm.h
diff options
context:
space:
mode:
authoraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2008-12-09 20:09:57 +0000
committeraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2008-12-09 20:09:57 +0000
commitf65ed4c1529f29a7d62d6733eaa50bed24a4b2ed (patch)
tree1d0351afc0542f8f709f9ed7f6a445474b137a9e /kvm.h
parentd85dc283fa87353be10b11b463196d10eb49ca41 (diff)
downloadqemu-f65ed4c1529f29a7d62d6733eaa50bed24a4b2ed.zip
qemu-f65ed4c1529f29a7d62d6733eaa50bed24a4b2ed.tar.gz
qemu-f65ed4c1529f29a7d62d6733eaa50bed24a4b2ed.tar.bz2
KVM: Coalesced MMIO support
MMIO exits are more expensive in KVM or Xen than in QEMU because they involve, at least, privilege transitions. However, MMIO write operations can be effectively batched if those writes do not have side effects. Good examples of this include VGA pixel operations when in a planar mode. As it turns out, we can get a nice boost in other areas too. Laurent mentioned a 9.7% performance boost in iperf with the coalesced MMIO changes for the e1000 when he originally posted this work for KVM. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5961 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'kvm.h')
-rw-r--r--kvm.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/kvm.h b/kvm.h
index ec0083f..ac464ab 100644
--- a/kvm.h
+++ b/kvm.h
@@ -45,6 +45,9 @@ int kvm_log_stop(target_phys_addr_t phys_addr, target_phys_addr_t len);
int kvm_has_sync_mmu(void);
+int kvm_coalesce_mmio_region(target_phys_addr_t start, ram_addr_t size);
+int kvm_uncoalesce_mmio_region(target_phys_addr_t start, ram_addr_t size);
+
/* internal API */
struct KVMState;