Messages in this thread | | | From | Rusty Russell <> | Subject | Re: module-placed markers/tracepoints | Date | Wed, 30 Jul 2008 11:40:59 +1000 |
| |
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.
| |