linux_dsm_epyc7002/arch/x86/kvm
Wanpeng Li 4abaffce4d KVM: LAPIC: Recalculate apic map in batch
In the vCPU reset and set APIC_BASE MSR path, the apic map will be recalculated
several times, each time it will consume 10+ us observed by ftrace in my
non-overcommit environment since the expensive memory allocate/mutex/rcu etc
operations. This patch optimizes it by recaluating apic map in batch, I hope
this can benefit the serverless scenario which can frequently create/destroy
VMs.

Before patch:

kvm_lapic_reset  ~27us

After patch:

kvm_lapic_reset  ~14us

Observed by ftrace, improve ~48%.

Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-03-16 17:57:39 +01:00
..
mmu KVM: x86: enable dirty log gradually in small chunks 2020-03-16 17:57:37 +01:00
vmx KVM: Fix some obsolete comments 2020-03-16 17:57:38 +01:00
cpuid.c kvm/svm: PKU not currently supported 2020-01-27 19:59:35 +01:00
cpuid.h KVM: x86: Refactor and rename bit() to feature_bit() macro 2020-01-21 14:45:28 +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/emulate: fix a -Werror=cast-function-type 2020-02-20 18:13:45 +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
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/mmu: Avoid retpoline on ->page_fault() with TDP 2020-02-12 20:09:42 +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: Inhibit APIC virtualization for X2APIC guest 2020-03-16 17:57:35 +01:00
trace.h kvm: x86: Add APICv (de)activate request trace points 2020-02-05 15:17:41 +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: LAPIC: Recalculate apic map in batch 2020-03-16 17:57:39 +01:00
x86.h KVM: x86: Take a u64 when checking for a valid dr7 value 2020-02-05 15:17:45 +01:00