mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 05:02:12 +00:00
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>
This commit is contained in:
parent
8be0709f10
commit
11043d8b12
@ -4388,13 +4388,24 @@ tracing_stats_read(struct file *filp, char __user *ubuf,
|
|||||||
cnt = ring_buffer_bytes_cpu(tr->buffer, cpu);
|
cnt = ring_buffer_bytes_cpu(tr->buffer, cpu);
|
||||||
trace_seq_printf(s, "bytes: %ld\n", cnt);
|
trace_seq_printf(s, "bytes: %ld\n", cnt);
|
||||||
|
|
||||||
t = ns2usecs(ring_buffer_oldest_event_ts(tr->buffer, cpu));
|
if (trace_clocks[trace_clock_id].in_ns) {
|
||||||
usec_rem = do_div(t, USEC_PER_SEC);
|
/* local or global for trace_clock */
|
||||||
trace_seq_printf(s, "oldest event ts: %5llu.%06lu\n", t, usec_rem);
|
t = ns2usecs(ring_buffer_oldest_event_ts(tr->buffer, cpu));
|
||||||
|
usec_rem = do_div(t, USEC_PER_SEC);
|
||||||
|
trace_seq_printf(s, "oldest event ts: %5llu.%06lu\n",
|
||||||
|
t, usec_rem);
|
||||||
|
|
||||||
t = ns2usecs(ring_buffer_time_stamp(tr->buffer, cpu));
|
t = ns2usecs(ring_buffer_time_stamp(tr->buffer, cpu));
|
||||||
usec_rem = do_div(t, USEC_PER_SEC);
|
usec_rem = do_div(t, USEC_PER_SEC);
|
||||||
trace_seq_printf(s, "now ts: %5llu.%06lu\n", t, usec_rem);
|
trace_seq_printf(s, "now ts: %5llu.%06lu\n", t, usec_rem);
|
||||||
|
} else {
|
||||||
|
/* counter or tsc mode for trace_clock */
|
||||||
|
trace_seq_printf(s, "oldest event ts: %llu\n",
|
||||||
|
ring_buffer_oldest_event_ts(tr->buffer, cpu));
|
||||||
|
|
||||||
|
trace_seq_printf(s, "now ts: %llu\n",
|
||||||
|
ring_buffer_time_stamp(tr->buffer, cpu));
|
||||||
|
}
|
||||||
|
|
||||||
cnt = ring_buffer_dropped_events_cpu(tr->buffer, cpu);
|
cnt = ring_buffer_dropped_events_cpu(tr->buffer, cpu);
|
||||||
trace_seq_printf(s, "dropped events: %ld\n", cnt);
|
trace_seq_printf(s, "dropped events: %ld\n", cnt);
|
||||||
|
Loading…
Reference in New Issue
Block a user