Re: x86/smp: adding new trace points
From: Thomas Gleixner
Date: Wed May 13 2020 - 08:24:45 EST
Wojciech Kudla <wk.kernel@xxxxxxxxx> writes:
> I was trying to trace some IPIs (remote tlb shootdowns in this case) and noticed that:
>
> 1) irq_vectors:x86_platform_ipi_entry and irq_vectors:x86_platform_ipi_exit are not hit at all for my case. The backtrace on the receiving CPU:
>
> 0xffffffff81079535 flush_tlb_func_common.constprop.10+0x105/0x220 [kernel]
> 0xffffffff81079681 flush_tlb_func_remote+0x31/0x40 [kernel]
> 0xffffffff8111f76c flush_smp_call_function_queue+0x4c/0xf0 [kernel]
> 0xffffffff81120253 generic_smp_call_function_single_interrupt+0x13/0x30 [kernel]
> 0xffffffff81a030c6 smp_call_function_single_interrupt+0x36/0xd0 [kernel]
> 0xffffffff81a02679 call_function_single_interrupt+0xa9/0xb0 [kernel]
>
> I would expect that we would hit those trace point somewhere around
> call_function_single_interrupt()
Why would the SMP call function single interrupt go through the
PLATFORM_IPI_VECTOR? It goes as the name says through the
CALL_FUNCTION_SINGLE_VECTOR.
Thanks,
tglx