LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Chris Wilson <chris@chris-wilson.co.uk>
To: linux-kernel@vger.kernel.org
Cc: intel-gfx@lists.freedesktop.org, "Steven Rostedt" <rostedt@goodmis.org>
Subject: Re: [PATCH v2 1/2] trace: Default to using trace_global_clock if sched_clock is unstable
Date: Wed, 04 Apr 2018 21:46:18 +0100 [thread overview]
Message-ID: <152287477878.1494.3258504745278636088@mail.alporthouse.com> (raw)
In-Reply-To: <20180330150132.16903-1-chris@chris-wilson.co.uk>
Quoting Chris Wilson (2018-03-30 16:01:31)
> 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.
> ---
> kernel/trace/trace.c | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
>
> diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
> index 13baf85b27d8..7c155fa879e1 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()) {
Oh flip, I reversed the logic from v1.
I was going to do an early return:
if (trace_boot_clock || sched_clock_stable())
return;
to shift the message to the left slightly, at left it half way.
(I was wondering why CI didn't show the same results as v1!)
-Chris
next prev parent reply other threads:[~2018-04-04 20:46 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-30 15:01 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 [this message]
2018-04-04 20:51 ` [PATCH v3] " Chris Wilson
2018-04-04 20:56 ` Steven Rostedt
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=152287477878.1494.3258504745278636088@mail.alporthouse.com \
--to=chris@chris-wilson.co.uk \
--cc=intel-gfx@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rostedt@goodmis.org \
--subject='Re: [PATCH v2 1/2] trace: Default to using trace_global_clock if sched_clock is unstable' \
/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
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).