LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: Chris Wilson <chris@chris-wilson.co.uk>, linux-kernel@vger.kernel.org
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH v3] trace: Default to using trace_global_clock if sched_clock is unstable
Date: Wed, 04 Apr 2018 16:56:23 -0400	[thread overview]
Message-ID: <7D320425-063C-4C54-BAD2-8843ADCD8D6A@goodmis.org> (raw)
In-Reply-To: <20180404205102.20816-1-chris@chris-wilson.co.uk>

Can you add a patch on top. I already added your patch to my tree.

See branch ftrace/core
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git

-- Steve


On April 4, 2018 4:51:02 PM EDT, Chris Wilson <chris@chris-wilson.co.uk> wrote:
>Across suspend, we may see a very large drift in timestamps if the
>sched
>clock is unstable, prompting the global trace's ringbuffer code to warn
>and suggest switching to the global clock. Preempt this request by
>detecting when the sched clock is unstable (determined during
>late_initcall) and automatically switching the default clock over to
>trace_global_clock.
>
>This should prevent requiring user interaction to resolve warnings such
>as:
>
>Delta way too big! 18446743856563626466 ts=18446744054496180323 write
>stamp = 197932553857
>    If you just came from a suspend/resume,
>    please switch to the trace global clock:
>    echo global > /sys/kernel/debug/tracing/trace_clock
>
>Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
>Cc: Steven Rostedt (VMware) <rostedt@goodmis.org>
>---
>v2: Tell the user what's happening and what they can do to correct it.
>v3: Restore the correct logic to switch only if the default trace clock
>(no override) is found to be *not* stable.
>---
> kernel/trace/trace.c | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
>
>diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
>index 13baf85b27d8..a1810b053f65 100644
>--- a/kernel/trace/trace.c
>+++ b/kernel/trace/trace.c
>@@ -41,6 +41,7 @@
> #include <linux/nmi.h>
> #include <linux/fs.h>
> #include <linux/trace.h>
>+#include <linux/sched/clock.h>
> #include <linux/sched/rt.h>
> 
> #include "trace.h"
>@@ -8505,3 +8506,21 @@ __init static int clear_boot_tracer(void)
> 
> fs_initcall(tracer_init_tracefs);
> late_initcall_sync(clear_boot_tracer);
>+
>+#ifdef CONFIG_HAVE_UNSTABLE_SCHED_CLOCK
>+__init static int tracing_set_default_clock(void)
>+{
>+	/* sched_clock_stable() is determined in late_initcall */
>+	if (!trace_boot_clock && !sched_clock_stable()) {
>+		printk(KERN_WARNING
>+		       "Unstable clock detected, switching default tracing clock to
>\"global\"\n"
>+		       "If you want to keep using the local clock, then add:\n"
>+		       "  \"trace_clock=local\"\n"
>+		       "on the kernel command line\n");
>+		tracing_set_clock(&global_trace, "global");
>+	}
>+
>+	return 0;
>+}
>+late_initcall_sync(tracing_set_default_clock);
>+#endif

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.

  reply	other threads:[~2018-04-04 21:05 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-30 15:01 [PATCH v2 1/2] trace: Default to using trace_global_clock if sched_clock is unstable Chris Wilson
2018-03-30 15:01 ` [PATCH v2 2/2] trace: Mention trace_clock=global when warning about unstable clocks Chris Wilson
2018-04-02 15:17 ` [PATCH v2 1/2] trace: Default to using trace_global_clock if sched_clock is unstable Steven Rostedt
2018-04-04 20:46 ` Chris Wilson
2018-04-04 20:51 ` [PATCH v3] " Chris Wilson
2018-04-04 20:56   ` Steven Rostedt [this message]
2018-04-04 21:24     ` [PATCH] trace: Fixup logic inversion on setting trace_global_clock defaults Chris Wilson
2018-04-05 11:48       ` Steven Rostedt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7D320425-063C-4C54-BAD2-8843ADCD8D6A@goodmis.org \
    --to=rostedt@goodmis.org \
    --cc=chris@chris-wilson.co.uk \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).