Re: SLUB sysfs support

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Al Viro <viro@...>
Cc: Theodore Tso <tytso@...>, Andi Kleen <andi@...>, Willy Tarreau <w@...>, Steven Rostedt <rostedt@...>, Linus Torvalds <torvalds@...>, Ingo Molnar <mingo@...>, Peter Zijlstra <a.p.zijlstra@...>, LKML <linux-kernel@...>, Andrew Morton <akpm@...>, Christoph Hellwig <hch@...>, Rafael J. Wysocki <rjw@...>
Date: Thursday, December 27, 2007 - 7:22 pm

On Thu, 27 Dec 2007, Al Viro wrote:


Ok. Need to think about how to code that.


Hmmmm.... Okay. Patch follows but its strange to do a kobject_put after a 
kobject_del().


In slab_ktype?

---
 mm/slub.c |   15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

Index: linux-2.6/mm/slub.c
===================================================================
--- linux-2.6.orig/mm/slub.c	2007-12-27 15:09:38.000000000 -0800
+++ linux-2.6/mm/slub.c	2007-12-27 15:21:12.000000000 -0800
@@ -247,7 +247,10 @@ static void sysfs_slab_remove(struct kme
 static inline int sysfs_slab_add(struct kmem_cache *s) { return 0; }
 static inline int sysfs_slab_alias(struct kmem_cache *s, const char *p)
 							{ return 0; }
-static inline void sysfs_slab_remove(struct kmem_cache *s) {}
+static inline void sysfs_slab_remove(struct kmem_cache *s)
+{
+	kfree(s);
+}
 #endif
 
 /********************************************************************
@@ -2322,7 +2325,6 @@ void kmem_cache_destroy(struct kmem_cach
 		if (kmem_cache_close(s))
 			WARN_ON(1);
 		sysfs_slab_remove(s);
-		kfree(s);
 	} else
 		up_write(&slub_lock);
 }
@@ -3940,6 +3942,13 @@ static ssize_t slab_attr_store(struct ko
 	return err;
 }
 
+static void slab_release(struct kobject *kobj)
+{
+	struct kmem_cache *s = to_slab(kobj);
+
+	kfree(s);
+}
+
 static struct sysfs_ops slab_sysfs_ops = {
 	.show = slab_attr_show,
 	.store = slab_attr_store,
@@ -3947,6 +3956,7 @@ static struct sysfs_ops slab_sysfs_ops =
 
 static struct kobj_type slab_ktype = {
 	.sysfs_ops = &slab_sysfs_ops,
+	.release = slab_release
 };
 
 static int uevent_filter(struct kset *kset, struct kobject *kobj)
@@ -4048,6 +4058,7 @@ static void sysfs_slab_remove(struct kme
 {
 	kobject_uevent(&s->kobj, KOBJ_REMOVE);
 	kobject_del(&s->kobj);
+	kobject_put(&s->kobj);
 }
 
 /*

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Major regression on hackbench with SLUB, Steven Rostedt, (Fri Dec 7, 1:50 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Thu Dec 13, 6:22 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Fri Dec 14, 12:24 am)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Fri Dec 21, 6:22 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Fri Dec 21, 6:37 pm)
Re: Major regression on hackbench with SLUB (more numbers), Steven Rostedt, (Fri Dec 21, 6:52 pm)
Re: Major regression on hackbench with SLUB (more numbers), Linus Torvalds, (Fri Dec 21, 6:51 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Fri Dec 21, 7:54 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Fri Dec 21, 12:18 pm)
Re: Major regression on hackbench with SLUB (more numbers), Linus Torvalds, (Fri Dec 21, 12:44 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Fri Dec 21, 6:11 pm)
Re: Major regression on hackbench with SLUB (more numbers), Linus Torvalds, (Fri Dec 21, 6:49 pm)
Re: Major regression on hackbench with SLUB (more numbers), Peter Zijlstra, (Fri Dec 21, 6:16 pm)
Re: Major regression on hackbench with SLUB (more numbers), Peter Zijlstra, (Fri Dec 21, 6:17 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Fri Dec 21, 6:27 pm)
Re: Major regression on hackbench with SLUB (more numbers), Linus Torvalds, (Sat Dec 22, 2:01 pm)
Re: Major regression on hackbench with SLUB (more numbers), Linus Torvalds, (Sat Dec 22, 5:00 pm)
Re: Major regression on hackbench with SLUB (more numbers), Steven Rostedt, (Sat Dec 22, 8:59 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Mon Dec 24, 3:21 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Wed Dec 26, 5:31 pm)
Re: Major regression on hackbench with SLUB (more numbers), Steven Rostedt, (Fri Dec 28, 10:52 am)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Thu Dec 27, 1:51 am)
SLUB sysfs support, Christoph Lameter, (Thu Dec 27, 4:28 pm)
Re: SLUB sysfs support, Al Viro, (Thu Dec 27, 6:59 pm)
Re: SLUB sysfs support, Christoph Lameter, (Thu Dec 27, 7:22 pm)
Re: SLUB sysfs support, Al Viro, (Thu Dec 27, 7:54 pm)
Re: SLUB sysfs support, Christoph Lameter, (Thu Dec 27, 7:53 pm)
Re: SLUB sysfs support, Al Viro, (Thu Dec 27, 7:58 pm)
Re: SLUB sysfs support, Christoph Lameter, (Thu Dec 27, 8:02 pm)
Re: SLUB sysfs support, Al Viro, (Thu Dec 27, 8:45 pm)
Re: SLUB sysfs support, Christoph Lameter, (Thu Dec 27, 10:19 pm)
Re: SLUB sysfs support, Al Viro, (Thu Dec 27, 11:26 pm)
Re: SLUB sysfs support, Christoph Lameter, (Wed Jan 2, 4:25 pm)
[patch] slub: provide /proc/slabinfo, Ingo Molnar, (Tue Jan 1, 12:23 pm)
Re: [patch] slub: provide /proc/slabinfo, Arjan van de Ven, (Fri Jan 4, 8:27 pm)
Re: [patch] slub: provide /proc/slabinfo, Linus Torvalds, (Fri Jan 4, 8:49 pm)
Re: Major regression on hackbench with SLUB (more numbers), Jason L Tibbitts III, (Sat Dec 22, 6:52 pm)
Re: Major regression on hackbench with SLUB (more numbers), Alessandro Suardi, (Sun Dec 23, 11:59 pm)
Re: Major regression on hackbench with SLUB (more numbers), Alexey Dobriyan, (Sat Dec 22, 9:01 am)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Fri Dec 21, 7:51 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Mon Dec 24, 3:24 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Fri Dec 21, 12:26 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Fri Dec 21, 5:56 pm)
Re: Major regression on hackbench with SLUB (more numbers), Steven Rostedt, (Fri Dec 14, 2:15 am)
Re: Major regression on hackbench with SLUB, Linus Torvalds, (Fri Dec 7, 1:59 pm)
Re: Major regression on hackbench with SLUB, Linus Torvalds, (Fri Dec 7, 2:36 pm)
Re: Major regression on hackbench with SLUB, Christoph Lameter, (Thu Dec 13, 6:11 pm)
Re: Major regression on hackbench with SLUB, Steven Rostedt, (Sat Dec 8, 8:28 pm)
Re: Major regression on hackbench with SLUB, Steven Rostedt, (Sat Dec 8, 6:16 pm)
Re: Major regression on hackbench with SLUB, Björn, (Mon Dec 10, 3:38 am)
Re: Major regression on hackbench with SLUB, Steven Rostedt, (Mon Dec 10, 10:00 am)
Re: Major regression on hackbench with SLUB, Steven Rostedt, (Fri Dec 7, 2:58 pm)
Re: Major regression on hackbench with SLUB, Ingo Molnar, (Fri Dec 7, 1:55 pm)