summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2017-10-10 17:15:47 +0200
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2017-10-16 18:12:21 -0400
commit466c81c45b650deca213fda3d0ec4761667379a9 (patch)
tree3bb3aa06a9adfb347d8026a1ce5339775545b7c8 /include
parent8fd0fbbe8888f295eb34172a7e47bf7d3a0a4687 (diff)
downloadop-kernel-dev-466c81c45b650deca213fda3d0ec4761667379a9.zip
op-kernel-dev-466c81c45b650deca213fda3d0ec4761667379a9.tar.gz
perf/ftrace: Fix function trace events
The function-trace <-> perf interface is a tad messed up. Where all the other trace <-> perf interfaces use a single trace hook registration and use per-cpu RCU based hlist to iterate the events, function-trace actually needs multiple hook registrations in order to minimize function entry patching when filters are present. The end result is that we iterate events both on the trace hook and on the hlist, which results in reporting events multiple times. Since function-trace cannot use the regular scheme, fix it the other way around, use singleton hlists. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/trace_events.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/trace_events.h b/include/linux/trace_events.h
index a6349b7..ca4e67e 100644
--- a/include/linux/trace_events.h
+++ b/include/linux/trace_events.h
@@ -173,6 +173,11 @@ enum trace_reg {
TRACE_REG_PERF_UNREGISTER,
TRACE_REG_PERF_OPEN,
TRACE_REG_PERF_CLOSE,
+ /*
+ * These (ADD/DEL) use a 'boolean' return value, where 1 (true) means a
+ * custom action was taken and the default action is not to be
+ * performed.
+ */
TRACE_REG_PERF_ADD,
TRACE_REG_PERF_DEL,
#endif
OpenPOWER on IntegriCloud