All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] tracing: fix event_subsystem ref counting
@ 2011-10-31  9:07 Ilya Dryomov
  2011-10-31 16:14 ` Steven Rostedt
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Ilya Dryomov @ 2011-10-31  9:07 UTC (permalink / raw)
  To: linux-kernel; +Cc: Steven Rostedt, idryomov

Fix a bug introduced by e9dbfae5, which prevents event_subsystem from
ever being released.

Ref_count was added to keep track of subsystem users, not for counting
events.  Subsystem is created with ref_count = 1, so there is no need to
increment it for every event, we have nr_events for that.  Fix this by
touching ref_count only when we actually have a new user -
subsystem_open().

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
---
 kernel/trace/trace_events.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
index 581876f..c212a7f 100644
--- a/kernel/trace/trace_events.c
+++ b/kernel/trace/trace_events.c
@@ -1078,7 +1078,6 @@ event_subsystem_dir(const char *name, struct dentry *d_events)
 	/* First see if we did not already create this dir */
 	list_for_each_entry(system, &event_subsystems, list) {
 		if (strcmp(system->name, name) == 0) {
-			__get_system(system);
 			system->nr_events++;
 			return system->entry;
 		}
-- 
1.7.6.3


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] tracing: fix event_subsystem ref counting
  2011-10-31  9:07 [PATCH] tracing: fix event_subsystem ref counting Ilya Dryomov
@ 2011-10-31 16:14 ` Steven Rostedt
  2011-11-01  1:12   ` Li Zefan
  2011-11-18 23:04 ` [tip:perf/core] " tip-bot for Ilya Dryomov
  2011-12-06  6:25 ` tip-bot for Ilya Dryomov
  2 siblings, 1 reply; 6+ messages in thread
From: Steven Rostedt @ 2011-10-31 16:14 UTC (permalink / raw)
  To: Ilya Dryomov; +Cc: linux-kernel

On Mon, 2011-10-31 at 11:07 +0200, Ilya Dryomov wrote:
> Fix a bug introduced by e9dbfae5, which prevents event_subsystem from
> ever being released.
> 
> Ref_count was added to keep track of subsystem users, not for counting
> events.  Subsystem is created with ref_count = 1, so there is no need to
> increment it for every event, we have nr_events for that.  Fix this by
> touching ref_count only when we actually have a new user -
> subsystem_open().

Good catch, I'll pull this in.

Thanks!

-- Steve

> 
> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
> ---
>  kernel/trace/trace_events.c |    1 -
>  1 files changed, 0 insertions(+), 1 deletions(-)
> 
> diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
> index 581876f..c212a7f 100644
> --- a/kernel/trace/trace_events.c
> +++ b/kernel/trace/trace_events.c
> @@ -1078,7 +1078,6 @@ event_subsystem_dir(const char *name, struct dentry *d_events)
>  	/* First see if we did not already create this dir */
>  	list_for_each_entry(system, &event_subsystems, list) {
>  		if (strcmp(system->name, name) == 0) {
> -			__get_system(system);
>  			system->nr_events++;
>  			return system->entry;
>  		}



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] tracing: fix event_subsystem ref counting
  2011-10-31 16:14 ` Steven Rostedt
@ 2011-11-01  1:12   ` Li Zefan
  2011-11-01  1:38     ` Steven Rostedt
  0 siblings, 1 reply; 6+ messages in thread
From: Li Zefan @ 2011-11-01  1:12 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: Ilya Dryomov, linux-kernel

Steven Rostedt wrote:
> On Mon, 2011-10-31 at 11:07 +0200, Ilya Dryomov wrote:
>> Fix a bug introduced by e9dbfae5, which prevents event_subsystem from
>> ever being released.
>>
>> Ref_count was added to keep track of subsystem users, not for counting
>> events.  Subsystem is created with ref_count = 1, so there is no need to
>> increment it for every event, we have nr_events for that.  Fix this by
>> touching ref_count only when we actually have a new user -
>> subsystem_open().
> 
> Good catch, I'll pull this in.
> 

I made a different fix last week:

http://marc.info/?l=linux-kernel&m=131978486911595&w=2

but I guess Ilya's version is a bit better.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] tracing: fix event_subsystem ref counting
  2011-11-01  1:12   ` Li Zefan
@ 2011-11-01  1:38     ` Steven Rostedt
  0 siblings, 0 replies; 6+ messages in thread
From: Steven Rostedt @ 2011-11-01  1:38 UTC (permalink / raw)
  To: Li Zefan; +Cc: Ilya Dryomov, linux-kernel

On Tue, 2011-11-01 at 09:12 +0800, Li Zefan wrote:
> Steven Rostedt wrote:
> > On Mon, 2011-10-31 at 11:07 +0200, Ilya Dryomov wrote:
> >> Fix a bug introduced by e9dbfae5, which prevents event_subsystem from
> >> ever being released.
> >>
> >> Ref_count was added to keep track of subsystem users, not for counting
> >> events.  Subsystem is created with ref_count = 1, so there is no need to
> >> increment it for every event, we have nr_events for that.  Fix this by
> >> touching ref_count only when we actually have a new user -
> >> subsystem_open().
> > 
> > Good catch, I'll pull this in.
> > 
> 
> I made a different fix last week:
> 
> http://marc.info/?l=linux-kernel&m=131978486911595&w=2
> 
> but I guess Ilya's version is a bit better.

That patch was still in my queue to process, as I missed it during my
travels to Prague. But yeah, I think Ilya's patch is a better solution.

Thanks!

-- Steve




^ permalink raw reply	[flat|nested] 6+ messages in thread

* [tip:perf/core] tracing: fix event_subsystem ref counting
  2011-10-31  9:07 [PATCH] tracing: fix event_subsystem ref counting Ilya Dryomov
  2011-10-31 16:14 ` Steven Rostedt
@ 2011-11-18 23:04 ` tip-bot for Ilya Dryomov
  2011-12-06  6:25 ` tip-bot for Ilya Dryomov
  2 siblings, 0 replies; 6+ messages in thread
From: tip-bot for Ilya Dryomov @ 2011-11-18 23:04 UTC (permalink / raw)
  To: linux-tip-commits; +Cc: linux-kernel, hpa, mingo, idryomov, rostedt, tglx

Commit-ID:  d631097577f6fe027f4903f62eabced6445d19bf
Gitweb:     http://git.kernel.org/tip/d631097577f6fe027f4903f62eabced6445d19bf
Author:     Ilya Dryomov <idryomov@gmail.com>
AuthorDate: Mon, 31 Oct 2011 11:07:42 +0200
Committer:  Steven Rostedt <rostedt@goodmis.org>
CommitDate: Mon, 31 Oct 2011 13:59:23 -0400

tracing: fix event_subsystem ref counting

Fix a bug introduced by e9dbfae5, which prevents event_subsystem from
ever being released.

Ref_count was added to keep track of subsystem users, not for counting
events.  Subsystem is created with ref_count = 1, so there is no need to
increment it for every event, we have nr_events for that.  Fix this by
touching ref_count only when we actually have a new user -
subsystem_open().

Cc: stable@vger.kernel.org
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Link: http://lkml.kernel.org/r/1320052062-7846-1-git-send-email-idryomov@gmail.com
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
 kernel/trace/trace_events.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
index 581876f..c212a7f 100644
--- a/kernel/trace/trace_events.c
+++ b/kernel/trace/trace_events.c
@@ -1078,7 +1078,6 @@ event_subsystem_dir(const char *name, struct dentry *d_events)
 	/* First see if we did not already create this dir */
 	list_for_each_entry(system, &event_subsystems, list) {
 		if (strcmp(system->name, name) == 0) {
-			__get_system(system);
 			system->nr_events++;
 			return system->entry;
 		}

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [tip:perf/core] tracing: fix event_subsystem ref counting
  2011-10-31  9:07 [PATCH] tracing: fix event_subsystem ref counting Ilya Dryomov
  2011-10-31 16:14 ` Steven Rostedt
  2011-11-18 23:04 ` [tip:perf/core] " tip-bot for Ilya Dryomov
@ 2011-12-06  6:25 ` tip-bot for Ilya Dryomov
  2 siblings, 0 replies; 6+ messages in thread
From: tip-bot for Ilya Dryomov @ 2011-12-06  6:25 UTC (permalink / raw)
  To: linux-tip-commits; +Cc: linux-kernel, hpa, mingo, idryomov, rostedt, tglx

Commit-ID:  cb59974742aea24adf6637eb0c4b8e7b48bca6fb
Gitweb:     http://git.kernel.org/tip/cb59974742aea24adf6637eb0c4b8e7b48bca6fb
Author:     Ilya Dryomov <idryomov@gmail.com>
AuthorDate: Mon, 31 Oct 2011 11:07:42 +0200
Committer:  Steven Rostedt <rostedt@goodmis.org>
CommitDate: Mon, 5 Dec 2011 13:28:44 -0500

tracing: fix event_subsystem ref counting

Fix a bug introduced by e9dbfae5, which prevents event_subsystem from
ever being released.

Ref_count was added to keep track of subsystem users, not for counting
events.  Subsystem is created with ref_count = 1, so there is no need to
increment it for every event, we have nr_events for that.  Fix this by
touching ref_count only when we actually have a new user -
subsystem_open().

Cc: stable@vger.kernel.org
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Link: http://lkml.kernel.org/r/1320052062-7846-1-git-send-email-idryomov@gmail.com
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
 kernel/trace/trace_events.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
index 581876f..c212a7f 100644
--- a/kernel/trace/trace_events.c
+++ b/kernel/trace/trace_events.c
@@ -1078,7 +1078,6 @@ event_subsystem_dir(const char *name, struct dentry *d_events)
 	/* First see if we did not already create this dir */
 	list_for_each_entry(system, &event_subsystems, list) {
 		if (strcmp(system->name, name) == 0) {
-			__get_system(system);
 			system->nr_events++;
 			return system->entry;
 		}

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-12-06  6:25 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-31  9:07 [PATCH] tracing: fix event_subsystem ref counting Ilya Dryomov
2011-10-31 16:14 ` Steven Rostedt
2011-11-01  1:12   ` Li Zefan
2011-11-01  1:38     ` Steven Rostedt
2011-11-18 23:04 ` [tip:perf/core] " tip-bot for Ilya Dryomov
2011-12-06  6:25 ` tip-bot for Ilya Dryomov

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.