Dynamic tracepoints in 4.11.8-rt5

From: Mathieu Desnoyers
Date: Wed Jul 12 2017 - 11:55:39 EST


Hi Tom,

I notice this commit appears in linux-rt-devel 4.11.8-rt5
(and it is not in upstream Linux):

003100371 tracing: Add support for dynamic tracepoints

It adds a "bool dynamic" argument to tracepoint_probe_unregister.

I'm trying to figure out why this change is introduced as a new API
"dynamic_tracepoint_probe_register()" and by adding a boolean
to tracepoint_probe_unregister().

Allowing the user of register API to mixup between dynamic
and non-dynamic boolean values for the same tracepoint instance
seems fragile.

Given that the "dynamic" nature of this new kind of tracepoint
appears to be associated with the tracepoint instance
(struct tracepoint), why can't we simply add a "bool dynamic"
field to struct tracepoint, so we can deal with this internally
within tracepoint.c without exposing this detail in the register
API ?

This would also take care of currently diverging module APIs for the
GPL-exported symbol tracepoint_unregister() between Linux upstream
and linux-rt.

Thanks,

Mathieu

--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com