[lkml]   [2018]   [Oct]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subject[PATCH V5 2/3] kvm/x86 : add document for coalesced mmio
Signed-off-by: Peng Hao <>
Documentation/virtual/kvm/api.txt | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt
index 647f941..9615b9e 100644
--- a/Documentation/virtual/kvm/api.txt
+++ b/Documentation/virtual/kvm/api.txt
@@ -3676,6 +3676,30 @@ Returns: 0 on success, -1 on error
This copies the vcpu's kvm_nested_state struct from userspace to the kernel. For
the definition of struct kvm_nested_state, see KVM_GET_NESTED_STATE.

+Architectures: all
+Type: vm ioctl
+Parameters: struct kvm_coalesced_mmio_zone
+Returns: 0 on success, < 0 on error
+Coalesced mmio is a performance optimization that defers hardware
+register write emulation so that userspace exits are avoided. It is
+typically used to reduce the overhead of emulating frequently accessed
+hardware registers.
+When a hardware register is configured for coalesced mmio, write accesses
+do not exit to userspace and their value is recorded in a shared coalesced
+ring in the kernel.
+Coalesced mmio is applied to the following scenario typically.
+If a write access to a hardware register can be deferred, following a
+read/write access to another hardware register on the same device
+will cause the shared coalesced ring to be processed by userspace
+before emulating the current access. That will reduce the first write
+access to userspace.
5. The kvm_run structure

 \ /
  Last update: 2018-10-13 16:58    [W:0.128 / U:1.208 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site