From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org
Cc: Ingo Molnar <mingo@elte.hu>,
Andrew Morton <akpm@linux-foundation.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
Jiri Olsa <jolsa@redhat.com>
Subject: [PATCH 12/15] tracing: Explain about unstable clock on resume with ring buffer warning
Date: Thu, 10 Mar 2011 10:58:12 -0500 [thread overview]
Message-ID: <20110310155912.029198359@goodmis.org> (raw)
In-Reply-To: 20110310155800.478792851@goodmis.org
[-- Attachment #1: 0012-tracing-Explain-about-unstable-clock-on-resume-with-.patch --]
[-- Type: text/plain, Size: 1804 bytes --]
From: Jiri Olsa <jolsa@redhat.com>
The "Delta way too big" warning might appear on a system with a
unstable shed clock right after the system is resumed and tracing
was enabled at time of suspend.
Since it's not realy a 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.
v2 changes:
- added #ifdef CONFIG_HAVE_UNSTABLE_SCHED_CLOCK
Signed-off-by: Jiri Olsa <jolsa@redhat.com>
LKML-Reference: <20110218145219.GD2604@jolsa.brq.redhat.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
kernel/trace/ring_buffer.c | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
index 3237d96..db7b439 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -2172,11 +2172,19 @@ rb_reserve_next_event(struct ring_buffer *buffer,
if (likely(ts >= cpu_buffer->write_stamp)) {
delta = diff;
if (unlikely(test_time_stamp(delta))) {
+ int local_clock_stable = 1;
+#ifdef CONFIG_HAVE_UNSTABLE_SCHED_CLOCK
+ local_clock_stable = sched_clock_stable;
+#endif
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,
+ local_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;
}
}
--
1.7.2.3
next prev parent reply other threads:[~2011-03-10 16:00 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-10 15:58 [PATCH 00/15] [GIT PULL] tracing: updates for 2.6.39 Steven Rostedt
2011-03-10 15:58 ` [PATCH 01/15] tracing: Add an overwrite trace_option Steven Rostedt
2011-03-10 15:58 ` [PATCH 02/15] ring-buffer: Remove unused #include <linux/trace_irq.h> Steven Rostedt
2011-03-10 15:58 ` [PATCH 03/15] tracing: Remove lock_depth from event entry Steven Rostedt
2011-03-10 15:58 ` [PATCH 04/15] tracing: Fix event alignment: ftrace:context_switch and ftrace:wakeup Steven Rostedt
2011-03-10 15:58 ` [PATCH 05/15] tracing: Fix event alignment: module:module_request Steven Rostedt
2011-03-10 15:58 ` [PATCH 06/15] tracing: Fix event alignment: kvm:kvm_hv_hypercall Steven Rostedt
2011-03-10 15:58 ` [PATCH 07/15] tracing: Fix event alignment: mce:mce_record Steven Rostedt
2011-03-10 15:58 ` [PATCH 08/15] tracing: Fix event alignment: skb:kfree_skb Steven Rostedt
2011-03-10 15:58 ` [PATCH 09/15] tracing: Adjust conditional expression latency formatting Steven Rostedt
2011-03-10 15:58 ` [PATCH 10/15] ftrace: Add .ref.text as one of the safe areas to trace Steven Rostedt
2011-03-10 15:58 ` [PATCH 11/15] ftrace/graph: Trace function entry before updating index Steven Rostedt
2011-03-10 15:58 ` Steven Rostedt [this message]
2011-03-10 15:58 ` [PATCH 13/15] tracing: Export trace_set_clr_event() Steven Rostedt
2011-03-10 15:58 ` [PATCH 14/15] tracing: Align 4 byte ints together in struct tracer Steven Rostedt
2011-03-10 15:58 ` [PATCH 15/15] tracing: Fix irqoff selftest expanding max buffer Steven Rostedt
2011-03-11 8:27 ` [PATCH 00/15] [GIT PULL] tracing: updates for 2.6.39 Ingo Molnar
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=20110310155912.029198359@goodmis.org \
--to=rostedt@goodmis.org \
--cc=akpm@linux-foundation.org \
--cc=fweisbec@gmail.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
/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