linux/Documentation/virt/kvm
Vitaly Kuznetsov 557a961abb KVM: x86: acknowledgment mechanism for async pf page ready notifications
If two page ready notifications happen back to back the second one is not
delivered and the only mechanism we currently have is
kvm_check_async_pf_completion() check in vcpu_run() loop. The check will
only be performed with the next vmexit when it happens and in some cases
it may take a while. With interrupt based page ready notification delivery
the situation is even worse: unlike exceptions, interrupts are not handled
immediately so we must check if the slot is empty. This is slow and
unnecessary. Introduce dedicated MSR_KVM_ASYNC_PF_ACK MSR to communicate
the fact that the slot is free and host should check its notification
queue. Mandate using it for interrupt based 'page ready' APF event
delivery.

As kvm_check_async_pf_completion() is going away from vcpu_run() we need
a way to communicate the fact that vcpu->async_pf.done queue has
transitioned from empty to non-empty state. Introduce
kvm_arch_async_page_present_queued() and KVM_REQ_APF_READY to do the job.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Message-Id: <20200525144125.143875-7-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-06-01 04:26:08 -04:00
..
arm arm: Remove 32bit KVM host support 2020-03-24 10:56:04 +00:00
devices KVM: s390/interrupt: do not pin adapter interrupt pages 2020-02-27 19:47:10 +01:00
amd-memory-encryption.rst KVM: SVM: document KVM_MEM_ENCRYPT_OP, let userspace detect if SEV is available 2020-03-20 13:47:52 -04:00
api.rst kvm: add capability for halt polling 2020-04-24 12:53:17 -04:00
cpuid.rst KVM: Documentation: Fix up cpuid page 2020-05-15 12:26:15 -04:00
halt-polling.rst docs: virt: convert halt-polling.txt to ReST format 2020-02-12 20:09:50 +01:00
hypercalls.rst docs: kvm: Convert hypercalls.txt to ReST format 2020-02-12 20:10:02 +01:00
index.rst docs/virt/kvm: Document configuring and running nested guests 2020-05-06 05:45:47 -04:00
locking.rst KVM: Documentation: Update fast page fault for indirect sp 2020-03-16 17:58:56 +01:00
mmu.rst docs: kvm: Convert mmu.txt to ReST format 2020-02-12 20:10:03 +01:00
msr.rst KVM: x86: acknowledgment mechanism for async pf page ready notifications 2020-06-01 04:26:08 -04:00
nested-vmx.rst KVM: nVMX: Remove non-functional "support" for CR3 target values 2020-04-21 09:13:09 -04:00
ppc-pv.rst docs: kvm: Convert ppc-pv.txt to ReST format 2020-02-12 20:10:05 +01:00
review-checklist.rst docs: kvm: review-checklist.txt: rename to ReST 2020-02-12 20:10:07 +01:00
running-nested-guests.rst docs/virt/kvm: Document configuring and running nested guests 2020-05-06 05:45:47 -04:00
s390-diag.rst docs: kvm: Convert s390-diag.txt to ReST format 2020-02-12 20:10:06 +01:00
s390-pv-boot.rst DOCUMENTATION: Protected virtual machine introduction and IPL 2020-02-27 19:47:12 +01:00
s390-pv.rst DOCUMENTATION: Protected virtual machine introduction and IPL 2020-02-27 19:47:12 +01:00
timekeeping.rst docs: kvm: Convert timekeeping.txt to ReST format 2020-02-12 20:10:06 +01:00
vcpu-requests.rst