From: "Steven Rostedt (VMware)" <rost...@goodmis.org>

When the CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is enabled, and the time
stamps are detected as not being valid, it reports information about the
write stamp, but does not show the before_stamp which is still useful
information. Also, it should give a warning once, such that tests detect
this happening.

Signed-off-by: Steven Rostedt (VMware) <rost...@goodmis.org>
---
 kernel/trace/ring_buffer.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
index 342f49c3ccc5..68744c51517e 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -3318,9 +3318,13 @@ static void check_buffer(struct ring_buffer_per_cpu 
*cpu_buffer,
                        goto out;
                }
                atomic_inc(&cpu_buffer->record_disabled);
-               pr_warn("[CPU: %d]TIME DOES NOT MATCH expected:%lld actual:%lld 
delta:%lld after:%lld\n",
-                      cpu_buffer->cpu,
-                      ts + info->delta, info->ts, info->delta, info->after);
+               /* There's some cases in boot up that this can happen */
+               WARN_ON_ONCE(system_state != SYSTEM_BOOTING);
+               pr_warn("[CPU: %d]TIME DOES NOT MATCH expected:%lld actual:%lld 
delta:%lld before:%lld after:%lld%s\n",
+                       cpu_buffer->cpu,
+                       ts + info->delta, info->ts, info->delta,
+                       info->before, info->after,
+                       full ? " (full)" : "");
                dump_buffer_page(bpage, info, tail);
                atomic_dec(&ts_dump);
                /* Do not re-enable checking */
-- 
2.30.0


Reply via email to