trace,smp: Add tracepoints around remotelly called functions
authorLeonardo Bras <leobras@redhat.com>
Thu, 15 Jun 2023 06:59:45 +0000 (03:59 -0300)
committerPeter Zijlstra <peterz@infradead.org>
Fri, 16 Jun 2023 20:08:09 +0000 (22:08 +0200)
commit949fa3f11ced2a5c8e3737e73b09676adf4b322b
tree280e923f561dadfad15c4fc564adf56dc93ec58a
parent60be49bdf1d4ddb9e2deb7aa718d5b8bc167ee4e
trace,smp: Add tracepoints around remotelly called functions

The recently added ipi_send_{cpu,cpumask} tracepoints allow finding sources
of IPIs targeting CPUs running latency-sensitive applications.

For NOHZ_FULL CPUs, all IPIs are interference, and those tracepoints are
sufficient to find them and work on getting rid of them. In some setups
however, not *all* IPIs are to be suppressed, but long-running IPI
callbacks can still be problematic.

Add a pair of tracepoints to mark the start and end of processing a CSD IPI
callback, similar to what exists for softirq, workqueue or timer callbacks.

Signed-off-by: Leonardo Bras <leobras@redhat.com>
Tested-and-reviewed-by: Valentin Schneider <vschneid@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20230615065944.188876-5-leobras@redhat.com
include/trace/events/csd.h [new file with mode: 0644]
kernel/smp.c