From bd890a0f53142e60e70e6cad8363738d607fbdb4 Mon Sep 17 00:00:00 2001 From: Shehjar Tikoo Date: Tue, 26 Oct 2010 06:39:06 +0000 Subject: core: Use lru_limit as count for inode and dentry mempool Signed-off-by: Shehjar Tikoo Signed-off-by: Anand V. Avati BUG: 1948 (For each subvolume started, glusterfs process takes up around 30-35MB more memory) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1948 --- libglusterfs/src/inode.c | 8 ++++++-- libglusterfs/src/inode.h | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'libglusterfs') diff --git a/libglusterfs/src/inode.c b/libglusterfs/src/inode.c index 04e4560ed8f..57a3c35df2a 100644 --- a/libglusterfs/src/inode.c +++ b/libglusterfs/src/inode.c @@ -1047,14 +1047,18 @@ inode_table_new (size_t lru_limit, xlator_t *xl) new->hashsize = 14057; /* TODO: Random Number?? */ - new->inode_pool = mem_pool_new (inode_t, 204654); + /* In case FUSE is initing the inode table. */ + if (lru_limit == 0) + lru_limit = DEFAULT_INODE_MEMPOOL_ENTRIES; + + new->inode_pool = mem_pool_new (inode_t, lru_limit); if (!new->inode_pool) { GF_FREE (new); return NULL; } - new->dentry_pool = mem_pool_new (dentry_t, 204654); + new->dentry_pool = mem_pool_new (dentry_t, lru_limit); if (!new->dentry_pool) { GF_FREE (new); diff --git a/libglusterfs/src/inode.h b/libglusterfs/src/inode.h index de423d888ae..15a4f98f7bd 100644 --- a/libglusterfs/src/inode.h +++ b/libglusterfs/src/inode.h @@ -28,6 +28,7 @@ #include #include +#define DEFAULT_INODE_MEMPOOL_ENTRIES 16384 struct _inode_table; typedef struct _inode_table inode_table_t; -- cgit