aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace
diff options
context:
space:
mode:
authorYoshihiro YUNOMAE <yoshihiro.yunomae.ez@hitachi.com>2012-11-13 15:18:23 -0500
committerSteven Rostedt <rostedt@goodmis.org>2012-11-13 15:49:11 -0500
commit11043d8b125671a32253cddb0b05177be0e976f6 (patch)
tree9f440aeb014d66b3f284ff25cbae395c0d1a77fb /kernel/trace
parent8be0709f10e3dd5d7d07933ad61a9f18c4b93ca5 (diff)
tracing: Show raw time stamp on stats per cpu using counter or tsc mode for trace_clock
Show raw time stamp values for stats per cpu if you choose counter or tsc mode for trace_clock. Although a unit of tracing time stamp is nsec in local or global mode, the units in counter and TSC mode are tracing counter and cycles respectively. Link: http://lkml.kernel.org/r/1352837903-32191-3-git-send-email-dhsharp@google.com Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@redhat.com> Signed-off-by: Yoshihiro YUNOMAE <yoshihiro.yunomae.ez@hitachi.com> Signed-off-by: David Sharp <dhsharp@google.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace')
-rw-r--r--kernel/trace/trace.c23
1 files changed, 17 insertions, 6 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index d943e69569cd..b69cc380322d 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -4388,13 +4388,24 @@ tracing_stats_read(struct file *filp, char __user *ubuf,
4388 cnt = ring_buffer_bytes_cpu(tr->buffer, cpu); 4388 cnt = ring_buffer_bytes_cpu(tr->buffer, cpu);
4389 trace_seq_printf(s, "bytes: %ld\n", cnt); 4389 trace_seq_printf(s, "bytes: %ld\n", cnt);
4390 4390
4391 t = ns2usecs(ring_buffer_oldest_event_ts(tr->buffer, cpu)); 4391 if (trace_clocks[trace_clock_id].in_ns) {
4392 usec_rem = do_div(t, USEC_PER_SEC); 4392 /* local or global for trace_clock */
4393 trace_seq_printf(s, "oldest event ts: %5llu.%06lu\n", t, usec_rem); 4393 t = ns2usecs(ring_buffer_oldest_event_ts(tr->buffer, cpu));
4394 usec_rem = do_div(t, USEC_PER_SEC);
4395 trace_seq_printf(s, "oldest event ts: %5llu.%06lu\n",
4396 t, usec_rem);
4397
4398 t = ns2usecs(ring_buffer_time_stamp(tr->buffer, cpu));
4399 usec_rem = do_div(t, USEC_PER_SEC);
4400 trace_seq_printf(s, "now ts: %5llu.%06lu\n", t, usec_rem);
4401 } else {
4402 /* counter or tsc mode for trace_clock */
4403 trace_seq_printf(s, "oldest event ts: %llu\n",
4404 ring_buffer_oldest_event_ts(tr->buffer, cpu));
4394 4405
4395 t = ns2usecs(ring_buffer_time_stamp(tr->buffer, cpu)); 4406 trace_seq_printf(s, "now ts: %llu\n",
4396 usec_rem = do_div(t, USEC_PER_SEC); 4407 ring_buffer_time_stamp(tr->buffer, cpu));
4397 trace_seq_printf(s, "now ts: %5llu.%06lu\n", t, usec_rem); 4408 }
4398 4409
4399 cnt = ring_buffer_dropped_events_cpu(tr->buffer, cpu); 4410 cnt = ring_buffer_dropped_events_cpu(tr->buffer, cpu);
4400 trace_seq_printf(s, "dropped events: %ld\n", cnt); 4411 trace_seq_printf(s, "dropped events: %ld\n", cnt);