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

Christian Borntraeger
2016-06-21T13:24:16Z

On 06/20/2016 04:58 PM, Paolo Bonzini wrote:
> 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(-)
>
Series looks sane and does work on s390.
It has a minor conflict with my vsie pull request (so either add vsie.c
to this patch set or fixup my pull request in the merge commit to replace
kvm_guest_exit/enter with the new functions.

Christian