Messages in this thread Patch in this message | | | Date | Wed, 28 Aug 2013 11:17:46 -0400 | From | Steven Rostedt <> | Subject | Re: FTRACE_WARN_ON((rec->flags & ~FTRACE_FL_MASK) == 0)) |
| |
On Wed, 28 Aug 2013 09:58:33 -0400 Steven Rostedt <rostedt@goodmis.org> wrote:
> I'll take that back. The ftrace_shutdown() is called on success, thus > this is a normal path. I have to find out what perf is doing. Do you > have any clue to what calls are being made to perf?
This may be the error path that is taken that causes things to get off whack.
Dave, can you add this patch to your kernels you test, and that way, the next time you hit this error, I want to see if this warning was triggered too.
If we did not unregister the ftrace ops but free the filters, it will cause the accounting to get out of whack.
Thanks!
-- Steve
diff --git a/kernel/trace/trace_event_perf.c b/kernel/trace/trace_event_perf.c index 80c36bc..05167bb 100644 --- a/kernel/trace/trace_event_perf.c +++ b/kernel/trace/trace_event_perf.c @@ -306,6 +306,7 @@ static int perf_ftrace_function_unregister(struct perf_event *event) { struct ftrace_ops *ops = &event->ftrace_ops; int ret = unregister_ftrace_function(ops); + WARN_ON(ret); ftrace_free_filter(ops); return ret; }
| |