tracing: Add unstable sched clock note to the warning
Jiri Olsa [Wed, 2 Feb 2011 12:28:18 +0000 (13:28 +0100)]
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.

Signed-off-by: Jiri Olsa <jolsa@redhat.com>
LKML-Reference: <1296649698-6003-1-git-send-email-jolsa@redhat.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>

kernel/trace/ring_buffer.c

index bd1c35a..7739893 100644 (file)
@@ -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;
                }
        }