[PATCH V9 0/9] osnoise: Support multiple instances (for RTLA)
From: Daniel Bristot de Oliveira
Date: Sun Oct 31 2021 - 14:06:02 EST
Currently, osnoise and timerlat run only on a single instance. To reduce
this limitation, this series adds support for parallel instances of the
same tracer. That is, it is possible to run two instances of osnoise
tracer with different trace configurations. For example, one for the
tracer output only and another for the tracer and a set of tracepoints.
This patchset is the kernel dependencies for RTLA. This patchset was
being sent along with RTLA [1], but we split the kernel and
user-space patch sets.
Steve, feel free to drop the last two if they break anything.
[1] RTLA: An interface for osnoise/timerlat tracers:
https://lore.kernel.org/lkml/cover.1635284863.git.bristot@xxxxxxxxxx/
Changes from v8:
- rebase on top of linux-next
- Make notify_new_max_latency static (kernel test robot <lkp@xxxxxxxxx>)
Changes from v7:
- Fix check for print_stack disabled
- Fix thread/sofitrq filter when TIMERLAT ifdef is enabled
Both fixes for the patches added in the v6.
Changes from v6:
- Fix compilation problems for the case in which osnoise
enabled, but timerlat disabled (Steven)
- Remove ifdefs from inside functions (Steven)
Changes that happened while in the RTLA patchset:
- Fix comment on start_per_cpu_kthreads() (Steven)
- Fix msg log on patch 1
- Add comments about the barrier need for trace_nmi_enter/exit
- Fix RCU usage in osnoise_unregister_instance() (Steven/Paul)
- Add lockdep checks in osnoise_unregister/unregister_instance()
(Steven/Paul)
- Improve the explanation about the multi instances support (Steven)
Daniel Bristot de Oliveira (9):
tracing/osnoise: Do not follow tracing_cpumask
tracing/osnoise: Improve comments about barrier need for NMI callbacks
tracing/osnoise: Split workload start from the tracer start
tracing/osnoise: Use start/stop_per_cpu_kthreads() on
osnoise_cpus_write()
tracing/osnoise: Support a list of trace_array *tr
tracing/osnoise: Remove TIMERLAT ifdefs from inside functions
tracing/osnoise: Allow multiple instances of the same tracer
tracing/osnoise: Remove STACKTRACE ifdefs from inside functions
tracing/osnoise: Remove PREEMPT_RT ifdefs from inside functions
kernel/trace/trace_osnoise.c | 615 ++++++++++++++++++++++++-----------
1 file changed, 434 insertions(+), 181 deletions(-)
--
2.31.1