[DTrace-devel] [PATCH v2 08/20] providers: allow providers with no trampoline

Kris Van Hees kris.van.hees at oracle.com
Fri Oct 7 18:42:55 UTC 2022


On Thu, Oct 06, 2022 at 01:24:17PM +0100, Nick Alcock wrote:
> On 20 Sep 2022, Kris Van Hees uttered the following:
> 
> > On Wed, Sep 07, 2022 at 01:59:56PM +0100, Nick Alcock via DTrace-devel wrote:
> >> Such providers can be enabled just like any other, but generate no code.
> >> 
> >> Meant for use by things like the pid provider which have two probes
> >> associated with each system-side probe, one of which gets fired and
> >> generates code for the others in its trampoline method. Right now, both
> >> probes get the same trampoline, but only one probe's trampoline is
> >> necessary. Doing this lets us drop the unnecessary ones in a future
> >> commit.
> >
> > This is not quite accurate.  Perhaps just omit this and simply mention that
> > the patch is needed to support providers that do not generate trampoline code
> > for their probes (because the probes are alises for probes in an provider that
> > takes care of the trampoline code generatopn)?
> 
> OK, and yeah that's just wrong given what I now understand about the pid
> provider's operation.
> 
> Adjusted the last para to:
> > Meant for use by providers like pid which have some probes without
> > trampolines (but which enable other probes which do contain trampolines
> > that execute on their behalf).  Both such probes need enabling because
> > we want to ensure their names are interned, etc: we only want to avoid
> > trying to execute their trampoline when there is none.
> 
> >> Signed-off-by: Nick Alcock <nick.alcock at oracle.com>
> >
> > Reviewed-by: Kris Van Hees <kris.van.hees at oracle.com>
> >
> > ... assuming you fix the commit message as outlined above.
> 
> (hope that's good enough)

I honestly think it is still confusing because it's trying to capture more
detail than is necessary (and not explaning enough of that detail).  How about
simply:

    Meant for use by providers like pid which need to add probes to the
    enablings list that will not have BPF programs attached to them.  They
    need to be on the enablings list to ensure their names are added to
    the string table.



More information about the DTrace-devel mailing list