Messages in this thread | | | From | Romain Izard <> | Date | Wed, 7 May 2014 12:19:06 +0200 | Subject | Re: [PATCH v2] trace: module: Maintain a valid user count |
| |
2014-03-06 18:34 GMT+01:00 Steven Rostedt <rostedt@goodmis.org>: > Ingo, > > You want to push this to Linus? > > Reviewed-by: Steven Rostedt <rostedt@goodmis.org> > > -- Steve > > > On Tue, 4 Mar 2014 10:09:39 +0100 > Romain Izard <romain.izard.pro@gmail.com> wrote: > >> The replacement of the 'count' variable by two variables 'incs' and >> 'decs' to resolve some race conditions during module unloading was done >> in parallel with some cleanup in the trace subsystem, and was integrated >> as a merge. >> >> Unfortunately, the formula for this replacement was wrong in the tracing >> code, and the refcount in the traces was not usable as a result. >> >> Use 'count = incs - decs' to compute the user count. >> >> Signed-off-by: Romain Izard <romain.izard.pro@gmail.com> >> --- >> include/trace/events/module.h | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/include/trace/events/module.h b/include/trace/events/module.h >> index 161932737416..ca298c7157ae 100644 >> --- a/include/trace/events/module.h >> +++ b/include/trace/events/module.h >> @@ -78,7 +78,7 @@ DECLARE_EVENT_CLASS(module_refcnt, >> >> TP_fast_assign( >> __entry->ip = ip; >> - __entry->refcnt = __this_cpu_read(mod->refptr->incs) + __this_cpu_read(mod->refptr->decs); >> + __entry->refcnt = __this_cpu_read(mod->refptr->incs) - __this_cpu_read(mod->refptr->decs); >> __assign_str(name, mod->name); >> ), >> >
Ping ?
| |