On Sat, Aug 31, 2013 at 01:11:22AM -0400, Steven Rostedt wrote: > From: "Steven Rostedt (Red Hat)" <rost...@goodmis.org> > > As available_filter_functions file displays functions that are generally > available for tracing, do not show the ones that are RCU unsafe. Otherwise > it may be confusing for perf users to see these functions in this file but > not be able to trace them. > > Cc: Jiri Olsa <jo...@redhat.com> > Cc: Paul E. McKenney <paul...@linux.vnet.ibm.com> > Signed-off-by: Steven Rostedt <rost...@goodmis.org> > --- > include/linux/ftrace.h | 1 + > kernel/trace/ftrace.c | 6 +++++- > 2 files changed, 6 insertions(+), 1 deletion(-) > > diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h > index 1d17a82..4709264 100644 > --- a/include/linux/ftrace.h > +++ b/include/linux/ftrace.h > @@ -411,6 +411,7 @@ enum { > FTRACE_ITER_DO_HASH = (1 << 3), > FTRACE_ITER_HASH = (1 << 4), > FTRACE_ITER_ENABLED = (1 << 5), > + FTRACE_ITER_NO_UNSAFE = (1 << 6), > }; > > void arch_ftrace_update_code(int command); > diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c > index 06504b2..be87ac9 100644 > --- a/kernel/trace/ftrace.c > +++ b/kernel/trace/ftrace.c > @@ -2645,7 +2645,10 @@ 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_ENABLED))) { > + !(rec->flags & FTRACE_FL_ENABLED)) || > +
OK, I'll bite... Why the blank line? Thanx, Paul > + ((iter->flags & FTRACE_ITER_NO_UNSAFE) && > + ftrace_lookup_ip(ftrace_unsafe_rcu, rec->ip))) { > > rec = NULL; > goto retry; > @@ -2773,6 +2776,7 @@ ftrace_avail_open(struct inode *inode, struct file > *file) > iter = __seq_open_private(file, &show_ftrace_seq_ops, sizeof(*iter)); > if (iter) { > iter->pg = ftrace_pages_start; > + iter->flags = FTRACE_ITER_NO_UNSAFE; > iter->ops = &global_ops; > } > > -- > 1.7.10.4 > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/