Steven Rostedt a8fb260805 perf/tracing: Fix regression of perf losing kprobe events
With the addition of the code to shrink the kernel tracepoint
infrastructure, we lost kprobes being traced by perf. The reason
is that I tested if the "tp_event->class->perf_probe" existed before
enabling it. This prevents "ftrace only" events (like the function
trace events) from being enabled by perf.

Unfortunately, kprobe events do not use perf_probe. This causes
kprobes to be missed by perf. To fix this, we add the test to
see if "tp_event->class->reg" exists as well as perf_probe.

Normal trace events have only "perf_probe" but no "reg" function,
and kprobes and syscalls have the "reg" but no "perf_probe".
The ftrace unique events do not have either, so this is a valid
test. If a kprobe or syscall is not to be probed by perf, the
"reg" function is called anyway, and will return a failure and
prevent perf from probing it.

Reported-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Tested-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-06-10 20:56:54 -04:00
..
2009-09-21 14:29:21 +02:00
2010-05-18 08:57:00 +10:00
2009-06-24 00:02:38 -04:00
2010-05-19 11:48:18 -07:00
2009-09-18 09:48:52 -07:00
2010-05-26 16:15:37 +02:00
2010-05-11 17:33:42 -07:00
2010-05-19 08:18:44 +02:00
2010-05-27 09:12:53 -07:00
2010-05-17 00:21:03 +02:00
2010-02-10 17:47:17 -08:00
2010-05-11 12:01:10 -07:00
2010-04-02 20:12:05 +02:00
2010-03-12 15:52:32 -08:00
2010-05-24 11:50:38 +02:00
2010-03-06 11:26:23 -08:00
2009-09-23 18:13:10 -07:00
2010-05-21 09:37:29 -07:00
2010-05-10 08:48:39 +02:00
2009-06-18 13:03:55 -07:00