From: Steven Whitehouse <swhiteho@redhat.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [GFS2 PATCH] Allocate gfs2_rgrpd from slab memory
Date: Tue, 29 Jan 2008 08:42:37 +0000 [thread overview]
Message-ID: <1201596157.22038.328.camel@quoit> (raw)
In-Reply-To: <1201562426.18461.105.camel@technetium.msp.redhat.com>
Hi,
Now in the -nmw git tree. Thanks,
Steve.
On Mon, 2008-01-28 at 17:20 -0600, Bob Peterson wrote:
> Hi,
>
> This patch moves the gfs2_rgrpd structure to its own slab
> memory. This makes it easier to control and monitor, and
> yields less memory fragmentation.
>
> Regards,
>
> Bob Peterson
> Red Hat GFS
>
> Signed-off-by: Bob Peterson <rpeterso@redhat.com>
> --
> fs/gfs2/main.c | 10 ++++++++++
> fs/gfs2/rgrp.c | 4 ++--
> fs/gfs2/util.c | 1 +
> fs/gfs2/util.h | 1 +
> 4 files changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/fs/gfs2/main.c b/fs/gfs2/main.c
> index 9c7765c..053e2eb 100644
> --- a/fs/gfs2/main.c
> +++ b/fs/gfs2/main.c
> @@ -89,6 +89,12 @@ static int __init init_gfs2_fs(void)
> if (!gfs2_bufdata_cachep)
> goto fail;
>
> + gfs2_rgrpd_cachep = kmem_cache_create("gfs2_rgrpd",
> + sizeof(struct gfs2_rgrpd),
> + 0, 0, NULL);
> + if (!gfs2_rgrpd_cachep)
> + goto fail;
> +
> error = register_filesystem(&gfs2_fs_type);
> if (error)
> goto fail;
> @@ -108,6 +114,9 @@ fail_unregister:
> fail:
> gfs2_glock_exit();
>
> + if (gfs2_rgrpd_cachep)
> + kmem_cache_destroy(gfs2_rgrpd_cachep);
> +
> if (gfs2_bufdata_cachep)
> kmem_cache_destroy(gfs2_bufdata_cachep);
>
> @@ -133,6 +142,7 @@ static void __exit exit_gfs2_fs(void)
> unregister_filesystem(&gfs2_fs_type);
> unregister_filesystem(&gfs2meta_fs_type);
>
> + kmem_cache_destroy(gfs2_rgrpd_cachep);
> kmem_cache_destroy(gfs2_bufdata_cachep);
> kmem_cache_destroy(gfs2_inode_cachep);
> kmem_cache_destroy(gfs2_glock_cachep);
> diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c
> index 7b9d6f1..dc7e83e 100644
> --- a/fs/gfs2/rgrp.c
> +++ b/fs/gfs2/rgrp.c
> @@ -353,7 +353,7 @@ static void clear_rgrpdi(struct gfs2_sbd *sdp)
> }
>
> kfree(rgd->rd_bits);
> - kfree(rgd);
> + kmem_cache_free(gfs2_rgrpd_cachep, rgd);
> }
> }
>
> @@ -516,7 +516,7 @@ static int read_rindex_entry(struct gfs2_inode *ip,
> return error;
> }
>
> - rgd = kzalloc(sizeof(struct gfs2_rgrpd), GFP_NOFS);
> + rgd = kmem_cache_zalloc(gfs2_rgrpd_cachep, GFP_NOFS);
> error = -ENOMEM;
> if (!rgd)
> return error;
> diff --git a/fs/gfs2/util.c b/fs/gfs2/util.c
> index 424a077..fe9c28e 100644
> --- a/fs/gfs2/util.c
> +++ b/fs/gfs2/util.c
> @@ -25,6 +25,7 @@
> struct kmem_cache *gfs2_glock_cachep __read_mostly;
> struct kmem_cache *gfs2_inode_cachep __read_mostly;
> struct kmem_cache *gfs2_bufdata_cachep __read_mostly;
> +struct kmem_cache *gfs2_rgrpd_cachep __read_mostly;
>
> void gfs2_assert_i(struct gfs2_sbd *sdp)
> {
> diff --git a/fs/gfs2/util.h b/fs/gfs2/util.h
> index 28938a4..ac0c567 100644
> --- a/fs/gfs2/util.h
> +++ b/fs/gfs2/util.h
> @@ -147,6 +147,7 @@ gfs2_io_error_bh_i((sdp), (bh), __FUNCTION__, __FILE__, __LINE__);
> extern struct kmem_cache *gfs2_glock_cachep;
> extern struct kmem_cache *gfs2_inode_cachep;
> extern struct kmem_cache *gfs2_bufdata_cachep;
> +extern struct kmem_cache *gfs2_rgrpd_cachep;
>
> static inline unsigned int gfs2_tune_get_i(struct gfs2_tune *gt,
> unsigned int *p)
>
>
prev parent reply other threads:[~2008-01-29 8:42 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-28 23:20 [Cluster-devel] [GFS2 PATCH] Allocate gfs2_rgrpd from slab memory Bob Peterson
2008-01-29 8:42 ` Steven Whitehouse [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1201596157.22038.328.camel@quoit \
--to=swhiteho@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.