Christoph Hellwig wrote on 04/21/15 01:10:
Which (in-tree) module fails with this? I don't think anyone should
actually register a symbol.
I see you (Christoph Hellwig) have asked this question in a similar context
(see https://patches.linaro.org/28821/).
This question does not seem to make sense because:
1) the external module is not registering a _symbol_ but more
precisely a tracepoint _function_ as the whole tracepoint system allows for
_multiple_ functions to be called for each tracepoint declared in the kernel.
2) It's not the point that an in-tree module would fail. Again, the tracepoint
system allows for _multiple_functions_ to be defined/registered for each tracepoint
and _in_the_earlier_kernels_(i.e. 3.10.x and many others),_external_modules_could_
_register_ one or more _additional_functions_ to be called.
IF you're specifically saying that external modules should not register additional
tracepoint functions, my question would simply be: why do you think this?
To give you an example of the usefulness of continuing to allow this (continuation
from earlier kernels): the kernel scheduling has a tracepoint defined; of course a
critical operation for any kernel. I use to be able to insert a module which would
collect my own statistics on when and what switching was going on on what CPU cores.
I can think of many other potential reasons that this would be useful for external
modules. To think that tracepoints would only be useful for in-tree development is,
perhaps, (not meaning to offend) short sighted.