On 18 July 2014 23:22, Steven Rostedt <rost...@goodmis.org> 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. > > -- Steve >
Nico, If this patch addresses the issue where 3 RCU related tracepoint strings turn up /after/ _edata on !CONFIG_TRACING, there is already a patch queued up here http://marc.info/?l=linux-kernel&m=140518452623148&w=2 As far as In know, these were the only occurrences using a __used modifier, which is why they weren't dropped by the compiler in the !CONFIG_TRACING case. Regards, Ard. > 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; > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-ker...@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel -- 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/