[PATCH v2 07/40] tracing: Apply absolute timestamps to instance max buffer

From: Tom Zanussi
Date: Tue Sep 05 2017 - 17:58:24 EST


From: Baohong Liu <baohong.liu@xxxxxxxxx>

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.

Signed-off-by: Baohong Liu <baohong.liu@xxxxxxxxx>
---
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
--
1.9.3