[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20180508211057.GA77668@joelaf.mtv.corp.google.com>
Date: Tue, 8 May 2018 14:10:57 -0700
From: Joel Fernandes <joel@...lfernandes.org>
To: Mathieu Desnoyers <mathieu.desnoyers@...icios.com>
Cc: Joel Fernandes <joelaf@...gle.com>,
linux-kernel <linux-kernel@...r.kernel.org>,
rostedt <rostedt@...dmis.org>,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>,
Tom Zanussi <tom.zanussi@...ux.intel.com>,
Namhyung Kim <namhyung@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Boqun Feng <boqun.feng@...il.com>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
fweisbec <fweisbec@...il.com>,
Randy Dunlap <rdunlap@...radead.org>,
Masami Hiramatsu <mhiramat@...nel.org>,
kbuild test robot <fengguang.wu@...el.com>,
baohong liu <baohong.liu@...el.com>,
vedang patel <vedang.patel@...el.com>,
kernel-team <kernel-team@...roid.com>
Subject: Re: [PATCH RFC v6 4/5] tracepoint: Make rcuidle tracepoint callers
use SRCU
On Mon, May 07, 2018 at 08:37:54PM -0400, Mathieu Desnoyers wrote:
> ----- On May 7, 2018, at 5:46 PM, Joel Fernandes, Google joel@...lfernandes.org wrote:
>
> > On Mon, May 07, 2018 at 05:05:41PM -0400, Mathieu Desnoyers wrote:
> >> ----- On May 7, 2018, at 4:41 PM, Joel Fernandes joelaf@...gle.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.
>
> Then we should ifdef the entire implementation of tracepoint_synchronize_unregister().
> There is no point in issuing synchronize_sched() when code invokes that
> function on a CONFIG_TRACEPOINTS=n config.
Ok I'll do it this way in the next rev. Could you also share any thoughts on
patch 6/6 if you had some time? Development of it has also been complete for
some time.
thanks,
- Joel
Powered by blists - more mailing lists