perf/trace: Add ability to set a target task for events
authorAndrew Vagin <avagin@openvz.org>
Wed, 11 Jul 2012 14:14:58 +0000 (18:14 +0400)
committerIngo Molnar <mingo@kernel.org>
Tue, 31 Jul 2012 15:02:05 +0000 (17:02 +0200)
commite6dab5ffab59e910ec0e3355f4a6f29f7a7be474
tree87acf0fb071b8d09794ac7d834cb256de030cceb
parentd07bdfd322d307789f15b427dbcc39257665356f
perf/trace: Add ability to set a target task for events

A few events are interesting not only for a current task.
For example, sched_stat_* events are interesting for a task
which wakes up. For this reason, it will be good if such
events will be delivered to a target task too.

Now a target task can be set by using __perf_task().

The original idea and a draft patch belongs to Peter Zijlstra.

I need these events for profiling sleep times. sched_switch is used for
getting callchains and sched_stat_* is used for getting time periods.
These events are combined in user space, then it can be analyzed by
perf tools.

Inspired-by: Peter Zijlstra <peterz@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Arun Sharma <asharma@fb.com>
Signed-off-by: Andrew Vagin <avagin@openvz.org>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1342016098-213063-1-git-send-email-avagin@openvz.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
include/linux/ftrace_event.h
include/linux/perf_event.h
include/trace/events/sched.h
include/trace/ftrace.h
kernel/events/callchain.c
kernel/events/core.c
kernel/events/internal.h
kernel/trace/trace_event_perf.c
kernel/trace/trace_kprobe.c
kernel/trace/trace_syscalls.c
kernel/trace/trace_uprobe.c