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

From: Steven Rostedt
Date: Thu Mar 06 2014 - 12:34:30 EST


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);
> ),
>

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