On Fri, 18 Jul 2014, Steven Rostedt wrote: > On Fri, 18 Jul 2014 16:55:42 -0400 (EDT) > Nicolas Pitre <nicolas.pi...@linaro.org> wrote: > > > > > Here's the patch I have at the head of the series now, with the above > > ugliness changed to an unconditional __tracepoint_string attribute. > > > > I was thinking of something like this. Feel free to add this to your > series.
OK. Same end result, but much clearer. Thanks. Any comments / ACKs on the other patches? I'd like to see 1/4 to 3/4 (and your patch) merged upstream during the next window. 4/4 is up for debate. > -- Steve > > From: Steven Rostedt <rost...@goodmis.org> > Subject: [PATCH] tracing: Do not do anything special with tracepoint_string > when tracing is disabled > > When CONFIG_TRACING is not enabled, there's no reason to save the trace > strings either by the linker or as a static variable that can be > referenced later. Simply pass back the string that is given to > tracepoint_string(). > > Signed-off-by: Steven Rostedt <rost...@goodmis.org> > --- > diff --git a/include/linux/ftrace_event.h b/include/linux/ftrace_event.h > index cff3106..b296363 100644 > --- a/include/linux/ftrace_event.h > +++ b/include/linux/ftrace_event.h > @@ -574,6 +574,7 @@ do { > \ > __trace_printk(ip, fmt, ##args); \ > } while (0) > > +#ifdef CONFIG_TRACING > /** > * tracepoint_string - register constant persistent string to trace system > * @str - a constant persistent string that will be referenced in tracepoints > @@ -607,6 +608,15 @@ do { > \ > ___tp_str; \ > }) > #define __tracepoint_string __attribute__((section("__tracepoint_str"))) > +#else > +/* > + * tracepoint_string() is used to save the string address for userspace > + * tracing tools. When tracing isn't configured, there's no need to save > + * anything. > + */ > +# define tracepoint_string(str) str > +# define __tracepoint_string > +#endif > > #ifdef CONFIG_PERF_EVENTS > struct perf_event; > > -- 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/