* [PATCH] trace: module: Maintain a valid user count
@ 2014-03-03 18:17 Romain Izard
2014-03-03 18:33 ` Steven Rostedt
0 siblings, 1 reply; 8+ messages in thread
From: Romain Izard @ 2014-03-03 18:17 UTC (permalink / raw)
To: Steven Rostedt, Frederic Weisbecker, Ingo Molnar, linux-kernel
Cc: Romain Izard
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 | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/trace/events/module.h b/include/trace/events/module.h
index 161932737416..1228d963b6d1 100644
--- a/include/trace/events/module.h
+++ b/include/trace/events/module.h
@@ -78,7 +78,8 @@ 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);
),
--
1.8.3.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] trace: module: Maintain a valid user count
2014-03-03 18:17 [PATCH] trace: module: Maintain a valid user count Romain Izard
@ 2014-03-03 18:33 ` Steven Rostedt
2014-03-04 9:09 ` [PATCH v2] " Romain Izard
0 siblings, 1 reply; 8+ messages in thread
From: Steven Rostedt @ 2014-03-03 18:33 UTC (permalink / raw)
To: Romain Izard; +Cc: Frederic Weisbecker, Ingo Molnar, linux-kernel
On Mon, 3 Mar 2014 19:17:32 +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 | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/include/trace/events/module.h b/include/trace/events/module.h
> index 161932737416..1228d963b6d1 100644
> --- a/include/trace/events/module.h
> +++ b/include/trace/events/module.h
> @@ -78,7 +78,8 @@ 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);
I know this breaks the 80 column rule, but please keep it on one line.
Look at the above. The line you are removing is much easier to read
than the one you replaced it with.
Or if it is too big, what about:
__entry->refcnt =
__this_cpu_read(mod->refptr->incs) - __this_cpu_read(mod->refptr->decs);
Thanks,
-- Steve
> __assign_str(name, mod->name);
> ),
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2] trace: module: Maintain a valid user count
2014-03-03 18:33 ` Steven Rostedt
@ 2014-03-04 9:09 ` Romain Izard
2014-03-06 17:34 ` Steven Rostedt
0 siblings, 1 reply; 8+ messages in thread
From: Romain Izard @ 2014-03-04 9:09 UTC (permalink / raw)
To: Steven Rostedt, Frederic Weisbecker, Ingo Molnar, linux-kernel
Cc: Romain Izard
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);
),
--
1.8.3.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2] trace: module: Maintain a valid user count
2014-03-04 9:09 ` [PATCH v2] " Romain Izard
@ 2014-03-06 17:34 ` Steven Rostedt
2014-05-07 10:19 ` Romain Izard
2014-05-07 19:23 ` Ingo Molnar
0 siblings, 2 replies; 8+ messages in thread
From: Steven Rostedt @ 2014-03-06 17:34 UTC (permalink / raw)
To: Ingo Molnar; +Cc: Romain Izard, Frederic Weisbecker, linux-kernel
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);
> ),
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2] trace: module: Maintain a valid user count
2014-03-06 17:34 ` Steven Rostedt
@ 2014-05-07 10:19 ` Romain Izard
2014-05-07 19:23 ` Ingo Molnar
1 sibling, 0 replies; 8+ messages in thread
From: Romain Izard @ 2014-05-07 10:19 UTC (permalink / raw)
To: Steven Rostedt, Ingo Molnar, Frederic Weisbecker; +Cc: linux-kernel
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 ?
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2] trace: module: Maintain a valid user count
2014-03-06 17:34 ` Steven Rostedt
2014-05-07 10:19 ` Romain Izard
@ 2014-05-07 19:23 ` Ingo Molnar
2014-05-07 19:41 ` Steven Rostedt
1 sibling, 1 reply; 8+ messages in thread
From: Ingo Molnar @ 2014-05-07 19:23 UTC (permalink / raw)
To: Steven Rostedt
Cc: Ingo Molnar, Romain Izard, Frederic Weisbecker, linux-kernel
* Steven Rostedt <rostedt@goodmis.org> wrote:
> Ingo,
>
> You want to push this to Linus?
>
> Reviewed-by: Steven Rostedt <rostedt@goodmis.org>
I think it would be more natural through the tracing tree, through
which most tracepoint fixes go, agreed?
Thanks,
Ingo
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2] trace: module: Maintain a valid user count
2014-05-07 19:23 ` Ingo Molnar
@ 2014-05-07 19:41 ` Steven Rostedt
2014-05-08 6:14 ` Ingo Molnar
0 siblings, 1 reply; 8+ messages in thread
From: Steven Rostedt @ 2014-05-07 19:41 UTC (permalink / raw)
To: Ingo Molnar; +Cc: Ingo Molnar, Romain Izard, Frederic Weisbecker, linux-kernel
On Wed, 7 May 2014 21:23:36 +0200
Ingo Molnar <mingo@kernel.org> wrote:
>
> * Steven Rostedt <rostedt@goodmis.org> wrote:
>
> > Ingo,
> >
> > You want to push this to Linus?
> >
> > Reviewed-by: Steven Rostedt <rostedt@goodmis.org>
>
> I think it would be more natural through the tracing tree, through
> which most tracepoint fixes go, agreed?
>
Hmm, yeah. Not sure why I pushed it off to you :-/
Looks like this should be marked as stable and incorporated in 3.15 as
well.
Thanks,
-- Steve
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2] trace: module: Maintain a valid user count
2014-05-07 19:41 ` Steven Rostedt
@ 2014-05-08 6:14 ` Ingo Molnar
0 siblings, 0 replies; 8+ messages in thread
From: Ingo Molnar @ 2014-05-08 6:14 UTC (permalink / raw)
To: Steven Rostedt
Cc: Ingo Molnar, Romain Izard, Frederic Weisbecker, linux-kernel
* Steven Rostedt <rostedt@goodmis.org> wrote:
> On Wed, 7 May 2014 21:23:36 +0200
> Ingo Molnar <mingo@kernel.org> wrote:
>
> >
> > * Steven Rostedt <rostedt@goodmis.org> wrote:
> >
> > > Ingo,
> > >
> > > You want to push this to Linus?
> > >
> > > Reviewed-by: Steven Rostedt <rostedt@goodmis.org>
> >
> > I think it would be more natural through the tracing tree, through
> > which most tracepoint fixes go, agreed?
> >
>
> Hmm, yeah. Not sure why I pushed it off to you :-/
To check whether I'm awake, I'm sure!
> Looks like this should be marked as stable and incorporated in 3.15
> as well.
Yeah.
Acked-by: Ingo Molnar <mingo@kernel.org>
Thanks,
Ingo
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-05-08 6:14 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-03 18:17 [PATCH] trace: module: Maintain a valid user count Romain Izard
2014-03-03 18:33 ` Steven Rostedt
2014-03-04 9:09 ` [PATCH v2] " Romain Izard
2014-03-06 17:34 ` Steven Rostedt
2014-05-07 10:19 ` Romain Izard
2014-05-07 19:23 ` Ingo Molnar
2014-05-07 19:41 ` Steven Rostedt
2014-05-08 6:14 ` Ingo Molnar
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.