Re: [for-next][PATCH 08/20] tracing: Warn if a tracepoint is not set via debugfs

From: Frank Ch. Eigler
Date: Tue Mar 11 2014 - 10:27:12 EST


Hi, Steven -

> > So it is a deferred-activation kind of call, with no way of knowing
> > when or if the tracepoints will start coming in. Why is that
> > supported at all, considering that clients could monitor modules
> > coming & going via the module_notifier chain, and update registration
> > at that time?
>
> That's my argument.

Was there an answer?


> > >> + entry = get_tracepoint(name);
> > >> + /* Make sure the entry was enabled */
> > >> + if (!entry || !entry->enabled)
> > >> + ret = -ENODEV;
> >
> > For what it's worth, I agree with Mathieu that this sort of successful
> > failure result code is a problem for tracking what needs cleanup and
> > what doesn't. (In systemtap's case, if this change gets merged, we'll
> > have to treat -ENODEV as if it were 0.)
>
> Does systemtap enable tracepoints before they are created? That is, do
> you allow enabling of a tracepoint in a module that is not loaded yet?

We have no formal opinion on whether or not this makes sense. If the
kernel permits it, fine.

> If not, than you want this as an error.

But it's not exactly an error! It's a success of sorts, and means
that later on we have to unregister the callback, just as if it were
successful.


- FChE
--
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/