From: Steven Whitehouse <swhiteho@redhat.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [PATCH 09/12] GFS2: The war on bloat
Date: Fri, 26 Sep 2008 13:00:52 +0100 [thread overview]
Message-ID: <1222430455-4632-10-git-send-email-swhiteho@redhat.com> (raw)
In-Reply-To: <1222430455-4632-9-git-send-email-swhiteho@redhat.com>
The following patch shrinks the gfs2_args structure which is embedded in
every GFS2 superblock. It cuts down the size of the options to a single
unsigned int (the 13 bits of bitfields will be rounded up to that size
by the compiler) from the current 11 unsigned ints. So on x86 thats 44
bytes shrinking to 4 bytes, in each and every GFS2 superblock.
Signed-off-by: Steven Whitehouse <swhitho@redhat.com>
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index a1777a1..b2c5784 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -386,21 +386,21 @@ struct gfs2_statfs_change_host {
#define GFS2_DATA_ORDERED 2
struct gfs2_args {
- char ar_lockproto[GFS2_LOCKNAME_LEN]; /* Name of the Lock Protocol */
- char ar_locktable[GFS2_LOCKNAME_LEN]; /* Name of the Lock Table */
- char ar_hostdata[GFS2_LOCKNAME_LEN]; /* Host specific data */
- int ar_spectator; /* Don't get a journal because we're always RO */
- int ar_ignore_local_fs; /* Don't optimize even if local_fs is 1 */
- int ar_localflocks; /* Let the VFS do flock|fcntl locks for us */
- int ar_localcaching; /* Local-style caching (dangerous on multihost) */
- int ar_debug; /* Oops on errors instead of trying to be graceful */
- int ar_upgrade; /* Upgrade ondisk/multihost format */
- unsigned int ar_num_glockd; /* Number of glockd threads */
- int ar_posix_acl; /* Enable posix acls */
- int ar_quota; /* off/account/on */
- int ar_suiddir; /* suiddir support */
- int ar_data; /* ordered/writeback */
- int ar_meta; /* mount metafs */
+ char ar_lockproto[GFS2_LOCKNAME_LEN]; /* Name of the Lock Protocol */
+ char ar_locktable[GFS2_LOCKNAME_LEN]; /* Name of the Lock Table */
+ char ar_hostdata[GFS2_LOCKNAME_LEN]; /* Host specific data */
+ unsigned int ar_spectator:1; /* Don't get a journal */
+ unsigned int ar_ignore_local_fs:1; /* Ignore optimisations */
+ unsigned int ar_localflocks:1; /* Let the VFS do flock|fcntl */
+ unsigned int ar_localcaching:1; /* Local caching */
+ unsigned int ar_debug:1; /* Oops on errors */
+ unsigned int ar_upgrade:1; /* Upgrade ondisk format */
+ unsigned int ar_posix_acl:1; /* Enable posix acls */
+ unsigned int ar_quota:2; /* off/account/on */
+ unsigned int ar_suiddir:1; /* suiddir support */
+ unsigned int ar_data:2; /* ordered/writeback */
+ unsigned int ar_meta:1; /* mount metafs */
+ unsigned int ar_num_glockd; /* Number of glockd threads */
};
struct gfs2_tune {
--
1.5.5.1
next prev parent reply other threads:[~2008-09-26 12:00 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-26 12:00 [Cluster-devel] GFS2: Pre-pull patch posting Steven Whitehouse
2008-09-26 12:00 ` [Cluster-devel] [PATCH 01/12] GFS2: Fix debugfs glock file iterator Steven Whitehouse
2008-09-26 12:00 ` [Cluster-devel] [PATCH 02/12] GFS2: Fix metafs mounts Steven Whitehouse
2008-09-26 12:00 ` [Cluster-devel] [PATCH 03/12] GFS2: rm on multiple nodes causes panic Steven Whitehouse
2008-09-26 12:00 ` [Cluster-devel] [PATCH 04/12] GFS2: Fix & clean up GFS2 rename Steven Whitehouse
2008-09-26 12:00 ` [Cluster-devel] [PATCH 05/12] GFS2: Fix race relating to glock min-hold time Steven Whitehouse
2008-09-26 12:00 ` [Cluster-devel] [PATCH 06/12] GFS2: Use an IS_ERR test rather than a NULL test Steven Whitehouse
2008-09-26 12:00 ` [Cluster-devel] [PATCH 07/12] GFS2: Direct IO write at end of file error Steven Whitehouse
2008-09-26 12:00 ` [Cluster-devel] [PATCH 08/12] GFS2: GFS2 will panic if you misspell any mount options Steven Whitehouse
2008-09-26 12:00 ` Steven Whitehouse [this message]
2008-09-26 12:00 ` [Cluster-devel] [PATCH 10/12] GFS2: high time to take some time over atime Steven Whitehouse
2008-09-26 12:00 ` [Cluster-devel] [PATCH 11/12] GFS2: Add UUID to GFS2 sb Steven Whitehouse
2008-09-26 12:00 ` [Cluster-devel] [PATCH 12/12] GFS2: Support for I/O barriers Steven Whitehouse
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=1222430455-4632-10-git-send-email-swhiteho@redhat.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).