[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230328191613.33ac3f5e@gandalf.local.home>
Date: Tue, 28 Mar 2023 19:16:13 -0400
From: Steven Rostedt <rostedt@...dmis.org>
To: Daniel Bristot de Oliveira <bristot@...nel.org>
Cc: linux-kernel@...r.kernel.org, linux-trace-kernel@...r.kernel.org,
Masami Hiramatsu <mhiramat@...nel.org>
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@...nel.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@...nel.org>
> Cc: Steven Rostedt <rostedt@...dmis.org>
> Cc: Masami Hiramatsu <mhiramat@...nel.org>
> Signed-off-by: Daniel Bristot de Oliveira <bristot@...nel.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;
Powered by blists - more mailing lists