Re: module-placed markers/tracepoints

From: Rusty Russell
Date: Tue Jul 29 2008 - 21:41:19 EST


On Wednesday 30 July 2008 08:41:16 Mathieu Desnoyers wrote:
> Therefore, what would be needed here is to add a synchronize_sched()
> after mod->exit() in module.c or after each tracepoint/marker unregister
> in marker.c/tracepoint.c. However, I'd really prefer to add this to
> module.c since adding this for _every_ unregister will slow down
> processing or multiple probe unregistration too much.
>
> Rusty, am I understanding that correctly ?
>
> Mathieu

Hi Mathieu,

Yes: stop_machine is merely used to atomically check the module refcount
for zero and set the state so it can't be incremented again (ie.
try_module_get will fail).

So placing a tracepoint or marker in a module does not bump the module
refcount? If that's true, then there needs to be some kind of
remove_markers_from_module() call after module->exit(), which should do the
synchronize_sched() or whatever, right?

Rusty.
--
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/