Re: [RFC PATCH] Kernel Tracepoints

From: Mathieu Desnoyers
Date: Mon Jun 30 2008 - 11:49:25 EST


* Masami Hiramatsu (mhiramat@xxxxxxxxxx) wrote:
>
>
> Mathieu Desnoyers wrote:
> > * Masami Hiramatsu (mhiramat@xxxxxxxxxx) wrote:
> >> Hi Mathieu,
> >>
> >> Thank you for making this so soon!
> >>
> >
> > Hi Masami,
> >
> > Thanks for the comments, I will rework the patch accordingly.
> >
> > Also, one thing I thought about yesterday which I dislike is that if we
> > have two modules declaring the same tracepoint in different headers with
> > different prototypes, each declaration will be valid but the
> > registration will try to connect a probe expecting wrong parameters to
> > the other tracepoint.
> >
> > It would be the case if someone does :
> >
> > drivers/somedrivera/mydriver1-trace.h
> >
> > DECLARE_TRACE(really_generic_name, TPPTOTO(void), TPARGS()));
> >
> >
> > drivers/somedriverb/mydriver2-trace.h
> >
> > DECLARE_TRACE(really_generic_name, TPPTOTO(struct somestruct *s), TPARGS(s)));
> >
> > Do you think it's worth it to append the prototype string to the
> > tracepoint name ? I think it should fix the problem.
>
> Hmm, I think we'd better send a fix patch to them in that case.
> (I hope we can find that kind of conflicts soon)
> I think we can make an external tool which detect those conflicts.

Hrm, ideally, we could output this information in a file which looks
like the Marker file generated by depmod, and automatically check for
duplicate tracepoints with different prototypes. That should also deal
with modules built outside of the kernel tree.

> Anyway, signature based checking idea is good to me. I think ":" is
> better delimiter.

Yes, changing it for :.

If we append the prototype to the tracepoint name, then at least we can
later add the consistency check in depmod.

Mathieu

>
>
> Thank you,
>
>
> --
> Masami Hiramatsu
>
> Software Engineer
> Hitachi Computer Products (America) Inc.
> Software Solutions Division
>
> e-mail: mhiramat@xxxxxxxxxx
>

--
Mathieu Desnoyers
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/