diff options
author | Peter Xu <peterx@redhat.com> | 2019-05-08 05:15:47 -0400 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2019-05-08 07:48:24 -0400 |
commit | d7547c55cbe7471255ca51f14bcd4699f5eaabe5 (patch) | |
tree | 1d616aada1dec45414a38ed39f4017223ddccea8 /Documentation/virtual | |
parent | 53eac7a8f8cf3d7dc5ecac1946f31442f5eee5f3 (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.txt | 15 |
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 | |||
330 | the KVM_CAP_MULTI_ADDRESS_SPACE capability. | 330 | the KVM_CAP_MULTI_ADDRESS_SPACE capability. |
331 | 331 | ||
332 | The bits in the dirty bitmap are cleared before the ioctl returns, unless | 332 | The bits in the dirty bitmap are cleared before the ioctl returns, unless |
333 | KVM_CAP_MANUAL_DIRTY_LOG_PROTECT is enabled. For more information, | 333 | KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 is enabled. For more information, |
334 | see the description of the capability. | 334 | see the description of the capability. |
335 | 335 | ||
336 | 4.9 KVM_SET_MEMORY_ALIAS | 336 | 4.9 KVM_SET_MEMORY_ALIAS |
@@ -3791,7 +3791,7 @@ to I/O ports. | |||
3791 | 3791 | ||
3792 | 4.117 KVM_CLEAR_DIRTY_LOG (vm ioctl) | 3792 | 4.117 KVM_CLEAR_DIRTY_LOG (vm ioctl) |
3793 | 3793 | ||
3794 | Capability: KVM_CAP_MANUAL_DIRTY_LOG_PROTECT | 3794 | Capability: KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 |
3795 | Architectures: x86 | 3795 | Architectures: x86 |
3796 | Type: vm ioctl | 3796 | Type: vm ioctl |
3797 | Parameters: struct kvm_dirty_log (in) | 3797 | Parameters: struct kvm_dirty_log (in) |
@@ -3824,10 +3824,10 @@ the address space for which you want to return the dirty bitmap. | |||
3824 | They must be less than the value that KVM_CHECK_EXTENSION returns for | 3824 | They must be less than the value that KVM_CHECK_EXTENSION returns for |
3825 | the KVM_CAP_MULTI_ADDRESS_SPACE capability. | 3825 | the KVM_CAP_MULTI_ADDRESS_SPACE capability. |
3826 | 3826 | ||
3827 | This ioctl is mostly useful when KVM_CAP_MANUAL_DIRTY_LOG_PROTECT | 3827 | This ioctl is mostly useful when KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 |
3828 | is enabled; for more information, see the description of the capability. | 3828 | is enabled; for more information, see the description of the capability. |
3829 | However, it can always be used as long as KVM_CHECK_EXTENSION confirms | 3829 | However, it can always be used as long as KVM_CHECK_EXTENSION confirms |
3830 | that KVM_CAP_MANUAL_DIRTY_LOG_PROTECT is present. | 3830 | that KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 is present. |
3831 | 3831 | ||
3832 | 4.118 KVM_GET_SUPPORTED_HV_CPUID | 3832 | 4.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 | ||
4783 | 7.18 KVM_CAP_MANUAL_DIRTY_LOG_PROTECT | 4783 | 7.18 KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 |
4784 | 4784 | ||
4785 | Architectures: all | 4785 | Architectures: all |
4786 | Parameters: args[0] whether feature should be enabled or not | 4786 | Parameters: args[0] whether feature should be enabled or not |
@@ -4803,6 +4803,11 @@ while userspace can see false reports of dirty pages. Manual reprotection | |||
4803 | helps reducing this time, improving guest performance and reducing the | 4803 | helps reducing this time, improving guest performance and reducing the |
4804 | number of dirty log false positives. | 4804 | number of dirty log false positives. |
4805 | 4805 | ||
4806 | KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 was previously available under the name | ||
4807 | KVM_CAP_MANUAL_DIRTY_LOG_PROTECT, but the implementation had bugs that make | ||
4808 | it hard or impossible to use it correctly. The availability of | ||
4809 | KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 signals that those bugs are fixed. | ||
4810 | Userspace should not try to use KVM_CAP_MANUAL_DIRTY_LOG_PROTECT. | ||
4806 | 4811 | ||
4807 | 8. Other capabilities. | 4812 | 8. Other capabilities. |
4808 | ---------------------- | 4813 | ---------------------- |