[PATCH v2 0/2] x86/entry: speed up context-tracking system calls by 150 clock cycles

Paolo Bonzini
2016-06-20T15:00:55Z

The first patches are the two optimizations I posted on May 30th
for the system call entry/exit code. The only change is in the
function names, which use the user_{enter,exit}_irqoff favored
by Andy and Ingo. The first patch matches what commit d0e536d8939
("context_tracking: avoid irq_save/irq_restore on guest entry and exit",
2015-10-28) did for guest entry and exit. The second simply adds
an inline annotation; the compiler doesn't figure it out because the
function is not static.

The second two patches move guest_{enter,exit} to the same naming
convention, removing the KVM wrappers kvm_guest_{enter,exit} and
__kvm_guest_{enter,exit} in the process. I would like these two to
go through the KVM tree because I have other optimizations for 4.8
on top of these patches.

Thanks,

Paolo

Paolo Bonzini (4):
x86/entry: Avoid interrupt flag save and restore
x86/entry: Inline enter_from_user_mode
context_tracking: move rcu_virt_note_context_switch out of kvm_host.h
KVM: remove kvm_guest_enter/exit wrappers

arch/arm/kvm/arm.c | 8 +++---
arch/mips/kvm/mips.c | 4 +--
arch/powerpc/kvm/book3s_hv.c | 4 +--
arch/powerpc/kvm/book3s_pr.c | 4 +--
arch/powerpc/kvm/booke.c | 4 +--
arch/powerpc/kvm/powerpc.c | 2 +-
arch/s390/kvm/kvm-s390.c | 4 +--
arch/x86/entry/common.c | 6 ++---
arch/x86/kvm/x86.c | 4 +--
include/linux/context_tracking.h | 53 +++++++++++++++++++++++++++++++++++++---
include/linux/kvm_host.h | 39 -----------------------------
11 files changed, 69 insertions(+), 63 deletions(-)

--
1.8.3.1