mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
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>
55 lines
1.5 KiB
Plaintext
55 lines
1.5 KiB
Plaintext
perf-y += builtin-bench.o
|
|
perf-y += builtin-annotate.o
|
|
perf-y += builtin-config.o
|
|
perf-y += builtin-diff.o
|
|
perf-y += builtin-evlist.o
|
|
perf-y += builtin-ftrace.o
|
|
perf-y += builtin-help.o
|
|
perf-y += builtin-sched.o
|
|
perf-y += builtin-buildid-list.o
|
|
perf-y += builtin-buildid-cache.o
|
|
perf-y += builtin-kallsyms.o
|
|
perf-y += builtin-list.o
|
|
perf-y += builtin-record.o
|
|
perf-y += builtin-report.o
|
|
perf-y += builtin-stat.o
|
|
perf-y += builtin-timechart.o
|
|
perf-y += builtin-top.o
|
|
perf-y += builtin-script.o
|
|
perf-y += builtin-kmem.o
|
|
perf-y += builtin-lock.o
|
|
perf-y += builtin-kvm.o
|
|
perf-y += builtin-inject.o
|
|
perf-y += builtin-mem.o
|
|
perf-y += builtin-data.o
|
|
perf-y += builtin-version.o
|
|
perf-y += builtin-c2c.o
|
|
|
|
perf-$(CONFIG_AUDIT) += builtin-trace.o
|
|
perf-$(CONFIG_LIBELF) += builtin-probe.o
|
|
|
|
perf-y += bench/
|
|
perf-y += tests/
|
|
|
|
perf-y += perf.o
|
|
|
|
paths += -DPERF_HTML_PATH="BUILD_STR($(htmldir_SQ))"
|
|
paths += -DPERF_INFO_PATH="BUILD_STR($(infodir_SQ))"
|
|
paths += -DPERF_MAN_PATH="BUILD_STR($(mandir_SQ))"
|
|
|
|
CFLAGS_builtin-help.o += $(paths)
|
|
CFLAGS_builtin-timechart.o += $(paths)
|
|
CFLAGS_perf.o += -DPERF_HTML_PATH="BUILD_STR($(htmldir_SQ))" \
|
|
-DPERF_EXEC_PATH="BUILD_STR($(perfexecdir_SQ))" \
|
|
-DPREFIX="BUILD_STR($(prefix_SQ))"
|
|
CFLAGS_builtin-trace.o += -DSTRACE_GROUPS_DIR="BUILD_STR($(STRACE_GROUPS_DIR_SQ))"
|
|
CFLAGS_builtin-report.o += -DTIPDIR="BUILD_STR($(tipdir_SQ))"
|
|
CFLAGS_builtin-report.o += -DDOCDIR="BUILD_STR($(srcdir_SQ)/Documentation)"
|
|
|
|
libperf-y += util/
|
|
libperf-y += arch/
|
|
libperf-y += ui/
|
|
libperf-y += scripts/
|
|
|
|
gtk-y += ui/gtk/
|