Namhyung Kim
d01f4e8db2
perf ftrace: Introduce new 'ftrace' tool
...
The 'perf ftrace' command is a simple wrapper of kernel's ftrace
functionality. It only supports single thread tracing currently and
just reads trace_pipe in text and then write it to stdout.
Committer notes:
Testing it:
# perf ftrace -f function_graph usleep 123456
<SNIP>
2) | SyS_nanosleep() {
2) | _copy_from_user() {
<SNIP>
2) 0.900 us | }
2) 1.354 us | }
2) | hrtimer_nanosleep() {
2) 0.062 us | __hrtimer_init();
2) | do_nanosleep() {
2) | hrtimer_start_range_ns() {
<SNIP>
2) 5.025 us | }
2) | schedule() {
2) 0.125 us | rcu_note_context_switch();
2) 0.057 us | _raw_spin_lock();
2) | deactivate_task() {
2) 0.369 us | update_rq_clock.part.77();
2) | dequeue_task_fair() {
<SNIP>
2) + 22.453 us | }
2) + 23.736 us | }
2) | pick_next_task_fair() {
<SNIP>
2) + 47.167 us | }
2) | pick_next_task_idle() {
<SNIP>
2) 4.462 us | }
------------------------------------------
2) usleep-20387 => <idle>-0
------------------------------------------
2) 0.806 us | switch_mm_irqs_off();
------------------------------------------
2) <idle>-0 => usleep-20387
------------------------------------------
2) 0.151 us | finish_task_switch();
2) @ 123597.2 us | }
2) 0.037 us | _cond_resched();
2) | hrtimer_try_to_cancel() {
2) 0.064 us | hrtimer_active();
2) 0.353 us | }
2) @ 123605.3 us | }
2) @ 123606.2 us | }
2) @ 123608.3 us | } /* SyS_nanosleep */
2) | __do_page_fault() {
<SNIP>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Tested-by: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jeremy Eder <jeder@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>,
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/n/tip-r1hgmsj4dxny8arn3o9mw512@git.kernel.org
[ Various foward port fixes, add man page ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2017-01-26 11:43:01 -03:00
..
2016-07-04 20:27:27 -03:00
2009-06-06 20:33:43 +02:00
2015-02-12 17:53:00 -03:00
2015-04-29 10:38:06 -03:00
2013-07-08 17:37:25 -03:00
2015-08-21 11:34:10 -03:00
2016-11-11 13:18:52 -03:00
2016-03-30 11:14:09 -03:00
2012-08-13 14:55:02 -03:00
2016-10-24 11:07:41 -03:00
2016-03-18 13:57:20 -03:00
2009-06-06 20:33:43 +02:00
2009-06-06 20:33:43 +02:00
2009-06-06 20:33:43 +02:00
2009-06-06 20:33:43 +02:00
2009-06-06 20:33:43 +02:00
2016-07-12 00:00:39 -03:00
2013-12-09 15:21:45 -03:00
2015-10-19 16:10:25 -03:00
2016-07-04 19:39:00 -03:00
2011-12-23 17:01:03 -02:00
2017-01-20 16:52:56 -03:00
2016-11-14 13:08:11 -03:00
2016-06-28 10:54:57 -03:00
2016-03-30 11:14:08 -03:00
2016-01-08 14:23:02 -03:00
2017-01-26 11:43:01 -03:00
2009-06-06 20:33:43 +02:00
2016-02-05 09:46:45 -03:00
2017-01-11 16:48:01 -03:00
2016-12-01 13:03:02 -03:00
2015-06-19 18:27:13 -03:00
2016-10-03 21:35:47 -03:00
2013-10-09 11:24:01 -03:00
2016-06-15 10:35:27 -03:00
2016-09-01 09:44:14 -03:00
2017-01-11 16:48:02 -03:00
2016-12-07 12:00:35 -03:00
2017-01-17 11:36:44 -03:00
2014-10-15 17:39:02 -03:00
2014-10-15 17:39:02 -03:00
2017-01-16 14:59:15 -03:00
2016-06-06 17:04:15 -03:00
2016-06-30 18:27:45 -03:00
2014-07-10 00:22:54 +02:00
2016-12-07 12:00:35 -03:00
2017-01-11 16:48:01 -03:00
2016-09-29 11:16:44 -03:00
2015-10-05 16:36:18 -03:00
2016-09-01 09:44:13 -03:00
2016-10-05 19:51:53 -03:00