Re: [tip:perf/core] tracing: Add unstable sched clock note to thewarning

From: Steven Rostedt
Date: Thu Feb 17 2011 - 10:39:46 EST


On Thu, 2011-02-17 at 15:00 +0000, tip-bot for Jiri Olsa wrote:
> Commit-ID: 5e38ca8f3ea423442eaafe1b7e206084aa38120a
> Gitweb: http://git.kernel.org/tip/5e38ca8f3ea423442eaafe1b7e206084aa38120a
> Author: Jiri Olsa <jolsa@xxxxxxxxxx>
> AuthorDate: Wed, 2 Feb 2011 13:28:18 +0100
> Committer: Steven Rostedt <rostedt@xxxxxxxxxxx>
> CommitDate: Tue, 8 Feb 2011 11:57:22 -0500
>
> tracing: Add unstable sched clock note to the warning
>
> The warning "Delta way too big" warning might appear on a system with
> unstable shed clock right after the system is resumed and tracing
> was enabled during the suspend.
>
> Since it's not realy bug, and the unstable sched clock is working
> fast and reliable otherwise, Steven suggested to keep using the
> sched clock in any case and just to make note in the warning itself.
>


Peter Zijlstra just informed me on IRC that the commit:

cd7240c0b900eb6d690ccee088a6c9b46dae815a
x86, tsc, sched: Recompute cyc2ns_offset's during resume from sleep
states

Prevents the clock from going backwards triggering the warn on. If this
is the case, I think we can revert this patch.

I'll wait on the original reporters of the bug to find out. If the clock
does not go backwards when the above commit is applied, then this patch
is not needed.

If this is the case, do you want me to rebase without it, or should we
just revert it?

-- Steve

> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> LKML-Reference: <1296649698-6003-1-git-send-email-jolsa@xxxxxxxxxx>
> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
> ---
> kernel/trace/ring_buffer.c | 8 ++++++--
> 1 files changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
> index bd1c35a..7739893 100644
> --- a/kernel/trace/ring_buffer.c
> +++ b/kernel/trace/ring_buffer.c
> @@ -2163,10 +2163,14 @@ rb_reserve_next_event(struct ring_buffer *buffer,
> delta = diff;
> if (unlikely(test_time_stamp(delta))) {
> WARN_ONCE(delta > (1ULL << 59),
> - KERN_WARNING "Delta way too big! %llu ts=%llu write stamp = %llu\n",
> + KERN_WARNING "Delta way too big! %llu ts=%llu write stamp = %llu\n%s",
> (unsigned long long)delta,
> (unsigned long long)ts,
> - (unsigned long long)cpu_buffer->write_stamp);
> + (unsigned long long)cpu_buffer->write_stamp,
> + sched_clock_stable ? "" :
> + "If you just came from a suspend/resume,\n"
> + "please switch to the trace global clock:\n"
> + " echo global > /sys/kernel/debug/tracing/trace_clock\n");
> add_timestamp = 1;
> }
> }


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/