]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit
KVM: x86: interrupt based APF 'page ready' event delivery
authorVitaly Kuznetsov <vkuznets@redhat.com>
Mon, 25 May 2020 14:41:20 +0000 (16:41 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 1 Jun 2020 08:26:07 +0000 (04:26 -0400)
commit2635b5c4a0e407b84f68e188c719f28ba0e9ae1b
tree7ce893331dea17b655113e3ed7640f7aa8462bf8
parent0958f0cefede403037653e44de0e3332d10b0e1a
KVM: x86: interrupt based APF 'page ready' event delivery

Concerns were expressed around APF delivery via synthetic #PF exception as
in some cases such delivery may collide with real page fault. For 'page
ready' notifications we can easily switch to using an interrupt instead.
Introduce new MSR_KVM_ASYNC_PF_INT mechanism and deprecate the legacy one.

One notable difference between the two mechanisms is that interrupt may not
get handled immediately so whenever we would like to deliver next event
(regardless of its type) we must be sure the guest had read and cleared
previous event in the slot.

While on it, get rid on 'type 1/type 2' names for APF events in the
documentation as they are causing confusion. Use 'page not present'
and 'page ready' everywhere instead.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Message-Id: <20200525144125.143875-6-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Documentation/virt/kvm/msr.rst
arch/x86/include/asm/kvm_host.h
arch/x86/include/uapi/asm/kvm_para.h
arch/x86/kvm/x86.c