Re: [PATCH v2 07/40] tracing: Apply absolute timestamps to instance max buffer
From: Steven Rostedt <rostedt@goodmis.org>
Date: 2017-09-06 19:58:03
Also in:
lkml
On Tue, 5 Sep 2017 16:57:19 -0500 Tom Zanussi [off-list ref] wrote:
From: Baohong Liu <redacted> Currently absolute timestamps are applied to both regular and max buffers only for global trace. For instance trace, absolute timestamps are applied only to regular buffer. But, regular and max buffers can be swapped, for example, following a snapshot. So, for instance trace, bad timestamps can be seen following a snapshot. Let's apply absolute timestamps to instance max buffer as well. Similarly, buffer clock change is applied to instance max buffer as well.
Hmm, this is a bug fix in its own right. I'll pull this in for the current merge window and slap a stable tag on it too. -- Steve
quoted hunk ↗ jump to hunk
Signed-off-by: Baohong Liu <redacted> --- kernel/trace/trace.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 66d465e..719e4c1 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c@@ -6223,7 +6223,7 @@ static int tracing_set_clock(struct trace_array *tr, const char *clockstr) tracing_reset_online_cpus(&tr->trace_buffer); #ifdef CONFIG_TRACER_MAX_TRACE - if (tr->flags & TRACE_ARRAY_FL_GLOBAL && tr->max_buffer.buffer) + if (tr->max_buffer.buffer) ring_buffer_set_clock(tr->max_buffer.buffer, trace_clocks[i].func); tracing_reset_online_cpus(&tr->max_buffer); #endif@@ -6307,7 +6307,7 @@ int tracing_set_time_stamp_abs(struct trace_array *tr, bool abs) tracing_reset_online_cpus(&tr->trace_buffer); #ifdef CONFIG_TRACER_MAX_TRACE - if (tr->flags & TRACE_ARRAY_FL_GLOBAL && tr->max_buffer.buffer) + if (tr->max_buffer.buffer) ring_buffer_set_time_stamp_abs(tr->max_buffer.buffer, abs); tracing_reset_online_cpus(&tr->max_buffer); #endif