summaryrefslogtreecommitdiffstats
path: root/Documentation/virtual
diff options
context:
space:
mode:
authorPeter Xu <peterx@redhat.com>2019-05-08 05:15:47 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2019-05-08 07:48:24 -0400
commitd7547c55cbe7471255ca51f14bcd4699f5eaabe5 (patch)
tree1d616aada1dec45414a38ed39f4017223ddccea8 /Documentation/virtual
parent53eac7a8f8cf3d7dc5ecac1946f31442f5eee5f3 (diff)
KVM: Introduce KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2
The previous KVM_CAP_MANUAL_DIRTY_LOG_PROTECT has some problem which blocks the correct usage from userspace. Obsolete the old one and introduce a new capability bit for it. Suggested-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Peter Xu <peterx@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'Documentation/virtual')
-rw-r--r--Documentation/virtual/kvm/api.txt15
1 files changed, 10 insertions, 5 deletions
diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt
index 675cb0bea903..47a5eb00bc53 100644
--- a/Documentation/virtual/kvm/api.txt
+++ b/Documentation/virtual/kvm/api.txt
@@ -330,7 +330,7 @@ They must be less than the value that KVM_CHECK_EXTENSION returns for
330the KVM_CAP_MULTI_ADDRESS_SPACE capability. 330the KVM_CAP_MULTI_ADDRESS_SPACE capability.
331 331
332The bits in the dirty bitmap are cleared before the ioctl returns, unless 332The bits in the dirty bitmap are cleared before the ioctl returns, unless
333KVM_CAP_MANUAL_DIRTY_LOG_PROTECT is enabled. For more information, 333KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 is enabled. For more information,
334see the description of the capability. 334see the description of the capability.
335 335
3364.9 KVM_SET_MEMORY_ALIAS 3364.9 KVM_SET_MEMORY_ALIAS
@@ -3791,7 +3791,7 @@ to I/O ports.
3791 3791
37924.117 KVM_CLEAR_DIRTY_LOG (vm ioctl) 37924.117 KVM_CLEAR_DIRTY_LOG (vm ioctl)
3793 3793
3794Capability: KVM_CAP_MANUAL_DIRTY_LOG_PROTECT 3794Capability: KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2
3795Architectures: x86 3795Architectures: x86
3796Type: vm ioctl 3796Type: vm ioctl
3797Parameters: struct kvm_dirty_log (in) 3797Parameters: struct kvm_dirty_log (in)
@@ -3824,10 +3824,10 @@ the address space for which you want to return the dirty bitmap.
3824They must be less than the value that KVM_CHECK_EXTENSION returns for 3824They must be less than the value that KVM_CHECK_EXTENSION returns for
3825the KVM_CAP_MULTI_ADDRESS_SPACE capability. 3825the KVM_CAP_MULTI_ADDRESS_SPACE capability.
3826 3826
3827This ioctl is mostly useful when KVM_CAP_MANUAL_DIRTY_LOG_PROTECT 3827This ioctl is mostly useful when KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2
3828is enabled; for more information, see the description of the capability. 3828is enabled; for more information, see the description of the capability.
3829However, it can always be used as long as KVM_CHECK_EXTENSION confirms 3829However, it can always be used as long as KVM_CHECK_EXTENSION confirms
3830that KVM_CAP_MANUAL_DIRTY_LOG_PROTECT is present. 3830that KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 is present.
3831 3831
38324.118 KVM_GET_SUPPORTED_HV_CPUID 38324.118 KVM_GET_SUPPORTED_HV_CPUID
3833 3833
@@ -4780,7 +4780,7 @@ and injected exceptions.
4780* For the new DR6 bits, note that bit 16 is set iff the #DB exception 4780* For the new DR6 bits, note that bit 16 is set iff the #DB exception
4781 will clear DR6.RTM. 4781 will clear DR6.RTM.
4782 4782
47837.18 KVM_CAP_MANUAL_DIRTY_LOG_PROTECT 47837.18 KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2
4784 4784
4785Architectures: all 4785Architectures: all
4786Parameters: args[0] whether feature should be enabled or not 4786Parameters: args[0] whether feature should be enabled or not
@@ -4803,6 +4803,11 @@ while userspace can see false reports of dirty pages. Manual reprotection
4803helps reducing this time, improving guest performance and reducing the 4803helps reducing this time, improving guest performance and reducing the
4804number of dirty log false positives. 4804number of dirty log false positives.
4805 4805
4806KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 was previously available under the name
4807KVM_CAP_MANUAL_DIRTY_LOG_PROTECT, but the implementation had bugs that make
4808it hard or impossible to use it correctly. The availability of
4809KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 signals that those bugs are fixed.
4810Userspace should not try to use KVM_CAP_MANUAL_DIRTY_LOG_PROTECT.
4806 4811
48078. Other capabilities. 48128. Other capabilities.
4808---------------------- 4813----------------------