linux/arch/x86/hyperv
Vitaly Kuznetsov b264f57fde x86/hyperv: Micro-optimize send_ipi_one()
When sending an IPI to a single CPU there is no need to deal with cpumasks.

With 2 CPU guest on WS2019 a minor (like 3%, 8043 -> 7761 CPU cycles)
improvement with smp_call_function_single() loop benchmark can be seeb. The
optimization, however, is tiny and straitforward. Also, send_ipi_one() is
important for PV spinlock kick.

Switching to the regular APIC IPI send for CPU > 64 case does not make
sense as it is twice as expesive (12650 CPU cycles for __send_ipi_mask_ex()
call, 26000 for orig_apic.send_IPI(cpu, vector)).

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Reviewed-by: Roman Kagan <rkagan@virtuozzo.com>
Link: https://lkml.kernel.org/r/20191027151938.7296-1-vkuznets@redhat.com
2019-11-12 11:44:20 +01:00
..
hv_apic.c x86/hyperv: Micro-optimize send_ipi_one() 2019-11-12 11:44:20 +01:00
hv_init.c x86/hyperv: Add functions to allocate/deallocate page for Hyper-V 2019-07-22 11:06:45 +02:00
hv_spinlock.c x86/hyperv: Make hv_vcpu_is_preempted() visible 2019-04-19 17:58:57 +02:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
mmu.c x86/paravirt: Use a single ops structure 2018-09-03 16:50:35 +02:00
nested.c x86/hyper-v: Add HvFlushGuestAddressList hypercall support 2018-12-21 11:28:39 +01:00