diff options
author | Christoph Lameter <cl@linux-foundation.org> | 2008-08-11 08:06:32 -0700 |
---|---|---|
committer | Pekka Enberg <penberg@cs.helsinki.fi> | 2008-11-03 11:20:51 +0200 |
commit | 539b180aa62a8df8c93dae729ed11c5f52998b90 (patch) | |
tree | 8c6b453d9cda63900f01da8cc06ae31c104fec71 /fs/proc/inode.c | |
parent | 5b2284ab14470a7f24f6bf27c8b4aacf381c0d58 (diff) |
Filesystem: /proc filesystem support for slab defrag
Support procfs inode defragmentation
Cc: Alexey Dobriyan <adobriyan@sw.ru>
Reviewed-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Christoph Lameter <cl@linux-foundation.org>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Diffstat (limited to 'fs/proc/inode.c')
-rw-r--r-- | fs/proc/inode.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/proc/inode.c b/fs/proc/inode.c index 2543fd00c658..bcb674275348 100644 --- a/fs/proc/inode.c +++ b/fs/proc/inode.c @@ -106,6 +106,12 @@ static void init_once(void *foo) inode_init_once(&ei->vfs_inode); } +static void *proc_get_inodes(struct kmem_cache *s, int nr, void **v) +{ + return fs_get_inodes(s, nr, v, + offsetof(struct proc_inode, vfs_inode)); +} + void __init proc_init_inodecache(void) { proc_inode_cachep = kmem_cache_create("proc_inode_cache", @@ -113,6 +119,8 @@ void __init proc_init_inodecache(void) 0, (SLAB_RECLAIM_ACCOUNT| SLAB_MEM_SPREAD|SLAB_PANIC), init_once); + kmem_cache_setup_defrag(proc_inode_cachep, + proc_get_inodes, kick_inodes); } static const struct super_operations proc_sops = { |