Various improvements to synchronization in osnoise/timerlat.
v5:
- Removed "Split out per-cpu variable resets" due to Sashiko feedback
about races with NMIs and other tracing hooks; the main motivation
for that patch was problems with osn->sampling and tlat->thread,
both of which are now explicitly cleared.
- Fixed some patch shuffling bugs in fd detachment that were revealed
by dropping the reset patch
- Added "Start all eligible cpus from hotplug workfn"
- Removed "Always check OSN_WORKLOAD" which is no longer needed after the
hotplug workfn patch
v4: fixed a problem with the v3 fix spotted by Sashiko
https://lore.kernel.org/all/20261014220759.908839-1-crwood@redhat.com/ (local)
v3: make sure osn->sampling gets cleared on stop, even for non-workload
osnoise (reported by Sashiko)
https://lore.kernel.org/all/20261014022640.695786-1-crwood@redhat.com/ (local)
v2: addresses issues raised by Sashiko, as well as a few more problems
discovered in additional testing.
https://lore.kernel.org/all/20261010022338.2507589-1-crwood@redhat.com/ (local)
v1: https://lore.kernel.org/all/20260824211544.3984835-1-crwood@redhat.com/ (local)
Crystal Wood (8):
tracing/osnoise: Variable cleanup
tracing/osnoise: Start all eligible cpus from hotplug workfn
tracing/osnoise: Hold a ref on osn->kthread
tracing/osnoise: Per-cpu mutexes and fd detachment
tracing/osnoise: kthreads: Verify CPU after migrate_disable()
tracing/osnoise: Take trace_types_lock in timerlat_fd_open
tracing/osnoise: Print taint message for timerlat
tracing/osnoise: Refuse timerlat fd open if tracer inactive
Documentation/trace/timerlat-tracer.rst | 5 +-
kernel/trace/trace_osnoise.c | 395 +++++++++++++++---------
2 files changed, 246 insertions(+), 154 deletions(-)
--
2.54.0