Re: [patch 1/2] Linux Kernel Markers - Support Multiple Probes

From: Mathieu Desnoyers
Date: Tue Dec 04 2007 - 14:45:31 EST


* Andrew Morton (akpm@xxxxxxxxxxxxxxxxxxxx) wrote:
> On Tue, 4 Dec 2007 14:21:00 -0500
> Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx> wrote:
>
> > > > + */
> > > > +void marker_probe_cb(const struct marker *mdata, void *call_private,
> > > > + const char *fmt, ...)
> > > > +{
> > > > + va_list args;
> > > > + char ptype;
> > > > +
> > > > + preempt_disable();
> > >
> > > What are the preempt_disable()s doing in here?
> > >
> > > Unless I missed something obvious, a comment is needed here (at least).
> > >
> >
> > They make sure the teardown of the callbacks can be done correctly when
> > they are in modules and they insure RCU read coherency. Will add
> > comment.
>
> So shouldn't it be using rcu_read_lock()? If that does not suit, should we
> be adding new rcu primitives rather than open-coding and adding dependencies?

Hrm, yes, good point. Since there seems to be extra magic under
__acquire(RCU); and rcu_read_acquire();, the the fact that I use
rcu_barrier() for synchronization, we should. I'll change it.


--
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/