From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Rostedt Subject: Re: [PATCH v2 07/40] tracing: Apply absolute timestamps to instance max buffer Date: Wed, 6 Sep 2017 15:57:58 -0400 Message-ID: <20170906155758.18e4a683@gandalf.local.home> References: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: tglx@linutronix.de, mhiramat@kernel.org, namhyung@kernel.org, vedang.patel@intel.com, bigeasy@linutronix.de, joel.opensrc@gmail.com, joelaf@google.com, mathieu.desnoyers@efficios.com, baohong.liu@intel.com, linux-kernel@vger.kernel.org, linux-rt-users@vger.kernel.org To: Tom Zanussi Return-path: Received: from mail.kernel.org ([198.145.29.99]:44156 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752187AbdIFT6C (ORCPT ); Wed, 6 Sep 2017 15:58:02 -0400 In-Reply-To: Sender: linux-rt-users-owner@vger.kernel.org List-ID: On Tue, 5 Sep 2017 16:57:19 -0500 Tom Zanussi wrote: > From: Baohong Liu > > 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 > > Signed-off-by: Baohong Liu > --- > 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