From: Nadav Amit <[email protected]> Sent: Thursday, July 18, 2019 5:59 PM > > To improve TLB shootdown performance, flush the remote and local TLBs > concurrently. Introduce flush_tlb_multi() that does so. Introduce > paravirtual versions of flush_tlb_multi() for KVM, Xen and hyper-v (Xen > and hyper-v are only compile-tested). > > While the updated smp infrastructure is capable of running a function on > a single local core, it is not optimized for this case. The multiple > function calls and the indirect branch introduce some overhead, and > might make local TLB flushes slower than they were before the recent > changes. > > Before calling the SMP infrastructure, check if only a local TLB flush > is needed to restore the lost performance in this common case. This > requires to check mm_cpumask() one more time, but unless this mask is > updated very frequently, this should impact performance negatively. > > Cc: "K. Y. Srinivasan" <[email protected]> > Cc: Haiyang Zhang <[email protected]> > Cc: Stephen Hemminger <[email protected]> > Cc: Sasha Levin <[email protected]> > Cc: Thomas Gleixner <[email protected]> > Cc: Ingo Molnar <[email protected]> > Cc: Borislav Petkov <[email protected]> > Cc: [email protected] > Cc: Juergen Gross <[email protected]> > Cc: Paolo Bonzini <[email protected]> > Cc: Dave Hansen <[email protected]> > Cc: Andy Lutomirski <[email protected]> > Cc: Peter Zijlstra <[email protected]> > Cc: Boris Ostrovsky <[email protected]> > Cc: [email protected] > Cc: [email protected] > Cc: [email protected] > Cc: [email protected] > Cc: [email protected] > Signed-off-by: Nadav Amit <[email protected]> > --- > arch/x86/hyperv/mmu.c | 10 +++--- > arch/x86/include/asm/paravirt.h | 6 ++-- > arch/x86/include/asm/paravirt_types.h | 4 +-- > arch/x86/include/asm/tlbflush.h | 8 ++--- > arch/x86/include/asm/trace/hyperv.h | 2 +- > arch/x86/kernel/kvm.c | 11 +++++-- > arch/x86/kernel/paravirt.c | 2 +- > arch/x86/mm/tlb.c | 47 ++++++++++++++++++--------- > arch/x86/xen/mmu_pv.c | 11 +++---- > include/trace/events/xen.h | 2 +- > 10 files changed, 62 insertions(+), 41 deletions(-) >
For the Hyper-V parts -- Reviewed-by: Michael Kelley <[email protected]> _______________________________________________ Virtualization mailing list [email protected] https://lists.linuxfoundation.org/mailman/listinfo/virtualization
