linux_dsm_epyc7002/arch/x86/kvm
Vitaly Kuznetsov 2635b5c4a0 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>
2020-06-01 04:26:07 -04:00
..
mmu KVM: x86: extend struct kvm_vcpu_pv_apf_data with token info 2020-06-01 04:26:06 -04:00
svm KVM: x86: extend struct kvm_vcpu_pv_apf_data with token info 2020-06-01 04:26:06 -04:00
vmx KVM: x86: extend struct kvm_vcpu_pv_apf_data with token info 2020-06-01 04:26:06 -04:00
cpuid.c kvm: x86: Cleanup vcpu->arch.guest_xstate_size 2020-05-15 12:26:10 -04:00
cpuid.h KVM: nSVM: implement KVM_GET_NESTED_STATE and KVM_SET_NESTED_STATE 2020-06-01 04:26:05 -04:00
debugfs.c
emulate.c KVM: x86: handle wrap around 32-bit address space 2020-05-13 12:14:59 -04:00
hyperv.c Merge branch 'kvm-amd-fixes' into HEAD 2020-05-13 12:14:05 -04:00
hyperv.h
i8254.c
i8254.h
i8259.c
ioapic.c kvm: ioapic: Restrict lazy EOI update to edge-triggered interrupts 2020-05-04 12:29:05 -04:00
ioapic.h kvm/x86: Remove redundant function implementations 2020-05-27 13:11:10 -04:00
irq_comm.c
irq.c KVM: nSVM: extract svm_set_gif 2020-06-01 04:26:01 -04:00
irq.h kvm/x86: Remove redundant function implementations 2020-05-27 13:11:10 -04:00
Kconfig vhost: refine vhost and vringh kconfig 2020-04-01 12:06:26 -04:00
kvm_cache_regs.h KVM: VMX: Add proper cache tracking for CR0 2020-05-13 12:15:12 -04:00
kvm_emulate.h ARM: 2020-04-02 15:13:15 -07:00
lapic.c kvm/x86: Remove redundant function implementations 2020-05-27 13:11:10 -04:00
lapic.h KVM: x86: introduce kvm_can_use_hv_timer 2020-05-15 12:26:21 -04:00
Makefile kvm: Disable objtool frame pointer checking for vmenter.S 2020-04-20 17:11:19 -04:00
mmu_audit.c KVM: x86/mmu: Drop KVM's hugepage enums in favor of the kernel's enums 2020-05-15 12:26:11 -04:00
mmu.h KVM: MMU: pass arbitrary CR0/CR4/EFER to kvm_init_shadow_mmu 2020-06-01 04:26:03 -04:00
mmutrace.h
mtrr.c
pmu.c KVM: x86: Copy kvm_x86_ops by value to eliminate layer of indirection 2020-03-31 10:48:08 -04:00
pmu.h KVM: x86: Copy kvm_x86_ops by value to eliminate layer of indirection 2020-03-31 10:48:08 -04:00
trace.h KVM: x86: Print symbolic names of VMX VM-Exit flags in traces 2020-05-15 12:26:18 -04:00
tss.h
x86.c KVM: x86: interrupt based APF 'page ready' event delivery 2020-06-01 04:26:07 -04:00
x86.h KVM: X86: Introduce more exit_fastpath_completion enum values 2020-05-15 12:26:19 -04:00