[PATCH V5 3/3] kvm/x86 : add document for coalesced pio

From: Peng Hao
Date: Sat Oct 13 2018 - 10:58:33 EST


Signed-off-by: Peng Hao <peng.hao2@xxxxxxxxxx>
---
Documentation/virtual/kvm/api.txt | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt
index 9615b9e..d3a0497 100644
--- a/Documentation/virtual/kvm/api.txt
+++ b/Documentation/virtual/kvm/api.txt
@@ -3678,18 +3678,19 @@ the definition of struct kvm_nested_state, see KVM_GET_NESTED_STATE.

4.116 KVM_(UN)REGISTER_COALESCED_MMIO

-Capability: KVM_CAP_COALESCED_MMIO
+Capability: KVM_CAP_COALESCED_MMIO (for coalesced mmio)
+ KVM_CAP_COALESCED_PIO (for coalesced pio)
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
+Coalesced I/O 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
+When a hardware register is configured for coalesced I/O, write accesses
do not exit to userspace and their value is recorded in a shared coalesced
ring in the kernel.

@@ -3700,6 +3701,9 @@ 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.

+Coalesced pio is based on coalesced mmio. There is little difference between
+coalesced mmio and pio except that coalesced pio is used for ioport.
+
5. The kvm_run structure
------------------------

--
1.8.3.1