kernel_optimize_test/arch
Wanpeng Li c5ce8235cf KVM: VMX: Optimize tscdeadline timer latency
'Commit d0659d946b ("KVM: x86: add option to advance tscdeadline
hrtimer expiration")' advances the tscdeadline (the timer is emulated
by hrtimer) expiration in order that the latency which is incurred
by hypervisor (apic_timer_fn -> vmentry) can be avoided. This patch
adds the advance tscdeadline expiration support to which the tscdeadline
timer is emulated by VMX preemption timer to reduce the hypervisor
lantency (handle_preemption_timer -> vmentry). The guest can also
set an expiration that is very small (for example in Linux if an
hrtimer feeds a expiration in the past); in that case we set delta_tsc
to 0, leading to an immediately vmexit when delta_tsc is not bigger than
advance ns.

This patch can reduce ~63% latency (~4450 cycles to ~1660 cycles on
a haswell desktop) for kvm-unit-tests/tscdeadline_latency when testing
busy waits.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2018-06-04 17:51:59 +02:00
..
alpha
arc
arm kvm: Make VM ioctl do valloc for some archs 2018-06-01 19:18:26 +02:00
arm64 kvm: Make VM ioctl do valloc for some archs 2018-06-01 19:18:26 +02:00
c6x
h8300
hexagon
ia64
m68k
microblaze
mips kvm: Change return type to vm_fault_t 2018-06-01 19:18:25 +02:00
nds32
nios2
openrisc
parisc parisc: Fix section mismatches 2018-05-02 21:47:35 +02:00
powerpc kvm: no need to check return value of debugfs_create functions 2018-06-01 19:18:27 +02:00
riscv
s390 kvm: Change return type to vm_fault_t 2018-06-01 19:18:25 +02:00
sh sh: switch to NO_BOOTMEM 2018-05-11 13:35:46 -04:00
sparc
um
unicore32
x86 KVM: VMX: Optimize tscdeadline timer latency 2018-06-04 17:51:59 +02:00
xtensa
.gitignore
Kconfig KASAN: prohibit KASAN+STRUCTLEAK combination 2018-05-11 17:28:45 -07:00