Various improvements to synchronization in osnoise/timerlat. v6: - Revived the "Always check OSN_WORKLOAD" and "Split out per-cpu variable resets" patches, with fixes, to address minor issues raised by Sashiko - Other minor Sashiko-requseted fixes
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 https://lore.kernel.org/all/[email protected]/ v4: fixed a problem with the v3 fix spotted by Sashiko https://lore.kernel.org/all/[email protected]/ v3: make sure osn->sampling gets cleared on stop, even for non-workload osnoise (reported by Sashiko) https://lore.kernel.org/all/[email protected]/ v2: addresses issues raised by Sashiko, as well as a few more problems discovered in additional testing. https://lore.kernel.org/all/[email protected]/ v1: https://lore.kernel.org/all/[email protected]/ Crystal Wood (10): tracing/osnoise: Variable cleanup tracing/osnoise: start_kthread: Always check OSN_WORKLOAD 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: Split out per-cpu variable resets 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 | 480 ++++++++++++++---------- 2 files changed, 287 insertions(+), 198 deletions(-) -- 2.54.0
