Messages in this thread |  | | | Date | Tue, 4 Dec 2007 14:45:06 -0500 | | From | Mathieu Desnoyers <> | | Subject | Re: [patch 1/2] Linux Kernel Markers - Support Multiple Probes |
* Andrew Morton (akpm@linux-foundation.org) wrote:
> On Tue, 4 Dec 2007 14:21:00 -0500
> Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> 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
|  |