Re: [PATCH][RFC] tracing: Enable tracepoints via module parameters

From: Mathieu Desnoyers
Date: Tue Aug 13 2013 - 18:35:01 EST


* Steven Rostedt (rostedt@xxxxxxxxxxx) wrote:
[...]
> But the thing about this that bothers me is that there's no way to say,
> "Enable all tracepoints in this module on load". I would like a way to
> do that, but I don't know of a way to do that without modifying the
> module code. Have any ideas? Basically, I would love to have:
>
> insmod foo tracepoints=all
>
> or something and have all tracepoints enabled.

If it can help, here is a very similar scenario: tracepoints in
lttng-ust (user land) deal with dynamically loaded libraries that are
loaded at any point during program execution, which is very much similar
to the kernel module use-case discussed here.

The way a user interacts with lttng to enable, e.g. all tracepoints
within "app_component" would be:

lttng enable-event -u 'app_component:*'

Then, whenever a library containing tracepoints is loaded, the
tracepoints contained within the library are registered to lttng-ust,
and it enables all tracepoint matching the user-specified wildcard.

What I like about this approach, if applied to kernel modules, is that
it does not require users to interact with module load parameters to
specify which tracepoints should be enabled: this is all done through
the regular tracer UI, thus greatly improving user experience.

Thoughts ?

Thanks,

Mathieu

--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
--
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/