Messages in this thread | | | Date | Tue, 28 Mar 2023 19:16:13 -0400 | From | Steven Rostedt <> | Subject | Re: [PATCH] tracing/osnoise: Fix notify new tracing_max_latency |
| |
On Fri, 24 Mar 2023 18:51:35 +0100 Daniel Bristot de Oliveira <bristot@kernel.org> wrote:
> timerlat is not reporting a new tracing_max_latency for the thread > latency. Also, the tracer is reporting new max latency on instances > where the tracing is off, creating inconsistencies between the max > reported values in the trace and in the tracing_max_latency. Thus > only report new tracing_max_latency on active tracing instances.
Sounds to me this patch fixes two different bugs. If so, can you please break it up into two different patches?
Thanks!
-- Steve
> > Fixes: dae181349f1e ("tracing/osnoise: Support a list of trace_array *tr") > Cc: Daniel Bristot de Oliveira <bristot@kernel.org> > Cc: Steven Rostedt <rostedt@goodmis.org> > Cc: Masami Hiramatsu <mhiramat@kernel.org> > Signed-off-by: Daniel Bristot de Oliveira <bristot@kernel.org> > --- > kernel/trace/trace_osnoise.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/kernel/trace/trace_osnoise.c b/kernel/trace/trace_osnoise.c > index 210e1f168392..2a1b337ac643 100644 > --- a/kernel/trace/trace_osnoise.c > +++ b/kernel/trace/trace_osnoise.c > @@ -1296,7 +1296,7 @@ static void notify_new_max_latency(u64 latency) > rcu_read_lock(); > list_for_each_entry_rcu(inst, &osnoise_instances, list) { > tr = inst->tr; > - if (tr->max_latency < latency) { > + if (tracer_tracing_is_on(tr) && tr->max_latency < latency) { > tr->max_latency = latency; > latency_fsnotify(tr); > } > @@ -1738,6 +1738,8 @@ static int timerlat_main(void *data) > > trace_timerlat_sample(&s); > > + notify_new_max_latency(diff); > + > timerlat_dump_stack(time_to_us(diff)); > > tlat->tracing_thread = false;
| |