]> Pileus Git - ~andy/linux/commitdiff
ftrace: Fix the output of enabled_functions debug file
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>
Thu, 9 May 2013 23:31:48 +0000 (19:31 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Fri, 10 May 2013 00:16:16 +0000 (20:16 -0400)
The enabled_functions debugfs file was created to be able to see
what functions have been modified from nops to calling a tracer.

The current method uses the counter in the function record.
As when a ftrace_ops is registered to a function, its count
increases. But that doesn't mean that the function is actively
being traced. /proc/sys/kernel/ftrace_enabled can be set to zero
which would disable it, as well as something can go wrong and
we can think its enabled when only the counter is set.

The record's FTRACE_FL_ENABLED flag is set or cleared when its
function is modified. That is a much more accurate way of knowing
what function is enabled or not.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/ftrace.c

index f104c45cbcc1740ab4d38e18c3f68951a04a337f..dcca9fa29bf4ae62b61d984a8f47b0e4dc8a9381 100644 (file)
@@ -2459,7 +2459,7 @@ t_next(struct seq_file *m, void *v, loff_t *pos)
                     !ftrace_lookup_ip(ops->notrace_hash, rec->ip)) ||
 
                    ((iter->flags & FTRACE_ITER_ENABLED) &&
-                    !(rec->flags & ~FTRACE_FL_MASK))) {
+                    !(rec->flags & FTRACE_FL_ENABLED))) {
 
                        rec = NULL;
                        goto retry;