aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clocksource/hyperv_timer.c
diff options
context:
space:
mode:
authorVitaly Kuznetsov <[email protected]>2019-10-27 15:19:38 +0000
committerThomas Gleixner <[email protected]>2019-11-12 10:44:20 +0000
commitb264f57fde0c686c5c1dfdd0c21992c49196bb87 (patch)
tree2e77028b7799efca17bca51e4fe494f3aec6087f /drivers/clocksource/hyperv_timer.c
parentdrivers: hv: vmbus: Replace page definition with Hyper-V specific one (diff)
downloadkernel-b264f57fde0c686c5c1dfdd0c21992c49196bb87.tar.gz
kernel-b264f57fde0c686c5c1dfdd0c21992c49196bb87.zip
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 <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Michael Kelley <[email protected]> Reviewed-by: Roman Kagan <[email protected]> Link: https://lkml.kernel.org/r/[email protected]
Diffstat (limited to 'drivers/clocksource/hyperv_timer.c')
0 files changed, 0 insertions, 0 deletions