2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-15 17:14:00 +08:00
linux-next/arch/x86/kvm
Wanpeng Li 041bc42ce2 KVM: VMX: Micro-optimize vmexit time when not exposing PMU
PMU is not exposed to guest by most of products from cloud providers since the
bad performance of PMU emulation and security concern. However, it calls
perf_guest_switch_get_msrs() and clear_atomic_switch_msr() unconditionally
even if PMU is not exposed to the guest before each vmentry.

~2% vmexit time reduced can be observed by kvm-unit-tests/vmexit.flat on my
SKX server.

Before patch:
vmcall 1559

After patch:
vmcall 1529

Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-03-16 17:58:58 +01:00
..
mmu KVM: x86: rename set_cr3 callback and related flags to load_mmu_pgd 2020-03-16 17:58:52 +01:00
vmx KVM: VMX: Micro-optimize vmexit time when not exposing PMU 2020-03-16 17:58:58 +01:00
cpuid.c KVM: x86: Refactor kvm_cpuid() param that controls out-of-range logic 2020-03-16 17:58:50 +01:00
cpuid.h KVM: x86: Refactor kvm_cpuid() param that controls out-of-range logic 2020-03-16 17:58:50 +01:00
debugfs.c KVM: no need to check return value of debugfs_create functions 2019-08-05 12:55:49 +02:00
emulate.c KVM: x86: Refactor kvm_cpuid() param that controls out-of-range logic 2020-03-16 17:58:50 +01:00
hyperv.c kvm: x86: hyperv: Use APICv update request interface 2020-02-05 15:17:43 +01:00
hyperv.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 499 2019-06-19 17:09:53 +02:00
i8254.c KVM: x86: Fix print format and coding style 2020-03-16 17:57:08 +01:00
i8254.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
i8259.c KVM: x86: Refactor picdev_write() to prevent Spectre-v1/L1TF attacks 2020-01-27 19:59:37 +01:00
ioapic.c kvm: ioapic: Lazy update IOAPIC EOI 2020-02-05 15:17:44 +01:00
ioapic.h KVM: X86: Move irrelevant declarations out of ioapic.h 2020-01-08 17:33:14 +01:00
irq_comm.c KVM: x86: don't notify userspace IOAPIC on edge-triggered interrupt EOI 2020-02-21 18:04:57 +01:00
irq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 320 2019-06-05 17:37:05 +02:00
irq.h KVM: X86: Move irrelevant declarations out of ioapic.h 2020-01-08 17:33:14 +01:00
Kconfig KVM: VMX: Allow KVM_INTEL when building for Centaur and/or Zhaoxin CPUs 2020-01-13 19:35:33 +01:00
kvm_cache_regs.h KVM: x86: Fold decache_cr3() into cache_reg() 2019-10-22 13:34:16 +02:00
kvm_emulate.h KVM: x86: Refactor kvm_cpuid() param that controls out-of-range logic 2020-03-16 17:58:50 +01:00
lapic.c KVM: LAPIC: Recalculate apic map in batch 2020-03-16 17:57:39 +01:00
lapic.h KVM: LAPIC: Recalculate apic map in batch 2020-03-16 17:57:39 +01:00
Makefile KVM: x86: enable -Werror 2020-02-12 20:15:29 +01:00
mmu_audit.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 499 2019-06-19 17:09:53 +02:00
mmu.h KVM: x86: rename set_cr3 callback and related flags to load_mmu_pgd 2020-03-16 17:58:52 +01:00
mmutrace.h KVM: x86: fix incorrect comparison in trace event 2020-02-20 18:13:44 +01:00
mtrr.c KVM: x86: Protect MSR-based index computations in fixed_msr_to_seg_unit() from Spectre-v1/L1TF attacks 2020-01-27 19:59:39 +01:00
pmu_amd.c KVM: x86/vPMU: Add lazy mechanism to release perf_event per vPMC 2019-11-15 11:44:10 +01:00
pmu.c KVM: x86: Adjust counter sample period after a wrmsr 2020-03-16 17:57:30 +01:00
pmu.h KVM: x86: Adjust counter sample period after a wrmsr 2020-03-16 17:57:30 +01:00
svm.c kvm: svm: Introduce GA Log tracepoint for AVIC 2020-03-16 17:58:56 +01:00
trace.h kvm: svm: Introduce GA Log tracepoint for AVIC 2020-03-16 17:58:56 +01:00
tss.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
x86.c kvm: svm: Introduce GA Log tracepoint for AVIC 2020-03-16 17:58:56 +01:00
x86.h KVM: CPUID: add support for supervisor states 2020-03-16 17:58:45 +01:00