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>
This commit is contained in:
committed by
Steven Rostedt (VMware)
parent
8fd0fbbe88
commit
466c81c45b
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user