[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20071227235437.GI27894@ZenIV.linux.org.uk>
Date: Thu, 27 Dec 2007 23:54:37 +0000
From: Al Viro <viro@...IV.linux.org.uk>
To: Christoph Lameter <clameter@....com>
Cc: Theodore Tso <tytso@....edu>, Andi Kleen <andi@...stfloor.org>,
Willy Tarreau <w@....eu>, Steven Rostedt <rostedt@...dmis.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Ingo Molnar <mingo@...e.hu>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
LKML <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Christoph Hellwig <hch@...radead.org>,
"Rafael J. Wysocki" <rjw@...k.pl>
Subject: Re: SLUB sysfs support
On Thu, Dec 27, 2007 at 03:22:28PM -0800, Christoph Lameter wrote:
> > a) remove symlink when slab goes away
>
> Ok. Need to think about how to code that.
Huh? Just call it from kmem_cache_destroy(); what business does that symlink
have being around after that point?
> > b) instead of kfree() in slab removal do kobject_put() if you have sysfs stuff
>
> Hmmmm.... Okay. Patch follows but its strange to do a kobject_put after a
> kobject_del().
kobject_del() undoes the effect of kobject_add(). And then you are left
with the refcount you had before kobject_add(), i.e. from kobject_init().
Think of it that way: kobject refcount controls the lifetime of structure
the sucker's embedded into. Depending on kobject methods, you might
be unable to do cleanup of non-kobject parts of that animal until after
kobject_del(). IOW, you _can't_ have kobject_del() dropping the (hopefully)
final reference to kobject - only the caller knows what might have to be
done in between.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists