Re: [PATCH v2] trace: module: Maintain a valid user count

From: Romain Izard
Date: Wed May 07 2014 - 06:19:31 EST


2014-03-06 18:34 GMT+01:00 Steven Rostedt <rostedt@xxxxxxxxxxx>:
> Ingo,
>
> You want to push this to Linus?
>
> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
>
> -- Steve
>
>
> On Tue, 4 Mar 2014 10:09:39 +0100
> Romain Izard <romain.izard.pro@xxxxxxxxx> 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@xxxxxxxxx>
>> ---
>> 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 ?
--
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/