On Mon, May 07, 2018 at 05:05:41PM -0400, Mathieu Desnoyers wrote: > ----- On May 7, 2018, at 4:41 PM, Joel Fernandes joe...@google.com wrote: > [...] > > +extern struct srcu_struct tracepoint_srcu; > > + > > extern int > > tracepoint_probe_register(struct tracepoint *tp, void *probe, void *data); > > extern int > > @@ -77,6 +80,9 @@ int unregister_tracepoint_module_notifier(struct > > notifier_block *nb) > > */ > > static inline void tracepoint_synchronize_unregister(void) > > { > > +#ifdef CONFIG_TRACEPOINTS > > + synchronize_srcu(&tracepoint_srcu); > > +#endif > > synchronize_sched(); > > Why is this ifdef needed ?
tracepoint_srcu is defined in tracepoint.c so if we don't protect usage here, it would cause a build error. thanks, - Joel