diff options
author | Christoph Lameter <cl@linux.com> | 2012-09-05 00:18:32 +0000 |
---|---|---|
committer | Pekka Enberg <penberg@kernel.org> | 2012-09-05 12:00:36 +0300 |
commit | 96d17b7be0a9849d381442030886211dbb2a7061 (patch) | |
tree | b0d15ba6ffcc16732a76367fff194b8052da9fa2 /mm/slab_common.c | |
parent | cbb79694d592e9a76880f6ef6db8feccaeee1c32 (diff) | |
download | linux-stable-96d17b7be0a9849d381442030886211dbb2a7061.tar.gz linux-stable-96d17b7be0a9849d381442030886211dbb2a7061.tar.bz2 linux-stable-96d17b7be0a9849d381442030886211dbb2a7061.zip |
mm/sl[aou]b: Move sysfs_slab_add to common
Simplify locking by moving the slab_add_sysfs after all locks have been
dropped. Eases the upcoming move to provide sysfs support for all
allocators.
Reviewed-by: Glauber Costa <glommer@parallels.com>
Signed-off-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Diffstat (limited to 'mm/slab_common.c')
-rw-r--r-- | mm/slab_common.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/mm/slab_common.c b/mm/slab_common.c index adc42b01b25b..4f722084baed 100644 --- a/mm/slab_common.c +++ b/mm/slab_common.c @@ -152,6 +152,14 @@ out_locked: return NULL; } + if (s->refcount == 1) { + err = sysfs_slab_add(s); + if (err) + printk(KERN_WARNING "kmem_cache_create(%s) failed to" + " create sysfs entry. Error %d\n", + name, err); + } + return s; } EXPORT_SYMBOL(kmem_cache_create); |