aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/linux-2.6/xfs_super.c
diff options
context:
space:
mode:
authorDavid Chinner <dgc@sgi.com>2007-02-10 02:34:56 -0500
committerTim Shimmin <tes@sgi.com>2007-02-10 02:34:56 -0500
commit7989cb8ef5dbc1411d3be48218c7b25ef6e71699 (patch)
tree607efa745911951a30712de44a837c1df952bd3a /fs/xfs/linux-2.6/xfs_super.c
parent5e6a07dfe404cd4d8494d842b54706cb007fa04b (diff)
[XFS] Keep stack usage down for 4k stacks by using noinline.
gcc-4.1 and more recent aggressively inline static functions which increases XFS stack usage by ~15% in critical paths. Prevent this from occurring by adding noinline to the STATIC definition. Also uninline some functions that are too large to be inlined and were causing problems with CONFIG_FORCED_INLINING=y. Finally, clean up all the different users of inline, __inline and __inline__ and put them under one STATIC_INLINE macro. For debug kernels the STATIC_INLINE macro uninlines those functions. SGI-PV: 957159 SGI-Modid: xfs-linux-melb:xfs-kern:27585a Signed-off-by: David Chinner <dgc@sgi.com> Signed-off-by: David Chatterton <chatz@sgi.com> Signed-off-by: Tim Shimmin <tes@sgi.com>
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_super.c')
-rw-r--r--fs/xfs/linux-2.6/xfs_super.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c
index b93265b7c79c..dab5d3802374 100644
--- a/fs/xfs/linux-2.6/xfs_super.c
+++ b/fs/xfs/linux-2.6/xfs_super.c
@@ -58,10 +58,10 @@
58#include <linux/kthread.h> 58#include <linux/kthread.h>
59#include <linux/freezer.h> 59#include <linux/freezer.h>
60 60
61STATIC struct quotactl_ops xfs_quotactl_operations; 61static struct quotactl_ops xfs_quotactl_operations;
62STATIC struct super_operations xfs_super_operations; 62static struct super_operations xfs_super_operations;
63STATIC kmem_zone_t *xfs_vnode_zone; 63static kmem_zone_t *xfs_vnode_zone;
64STATIC kmem_zone_t *xfs_ioend_zone; 64static kmem_zone_t *xfs_ioend_zone;
65mempool_t *xfs_ioend_pool; 65mempool_t *xfs_ioend_pool;
66 66
67STATIC struct xfs_mount_args * 67STATIC struct xfs_mount_args *
@@ -121,7 +121,7 @@ xfs_max_file_offset(
121 return (((__uint64_t)pagefactor) << bitshift) - 1; 121 return (((__uint64_t)pagefactor) << bitshift) - 1;
122} 122}
123 123
124STATIC __inline__ void 124STATIC_INLINE void
125xfs_set_inodeops( 125xfs_set_inodeops(
126 struct inode *inode) 126 struct inode *inode)
127{ 127{
@@ -147,7 +147,7 @@ xfs_set_inodeops(
147 } 147 }
148} 148}
149 149
150STATIC __inline__ void 150STATIC_INLINE void
151xfs_revalidate_inode( 151xfs_revalidate_inode(
152 xfs_mount_t *mp, 152 xfs_mount_t *mp,
153 bhv_vnode_t *vp, 153 bhv_vnode_t *vp,
@@ -873,7 +873,7 @@ xfs_fs_get_sb(
873 mnt); 873 mnt);
874} 874}
875 875
876STATIC struct super_operations xfs_super_operations = { 876static struct super_operations xfs_super_operations = {
877 .alloc_inode = xfs_fs_alloc_inode, 877 .alloc_inode = xfs_fs_alloc_inode,
878 .destroy_inode = xfs_fs_destroy_inode, 878 .destroy_inode = xfs_fs_destroy_inode,
879 .write_inode = xfs_fs_write_inode, 879 .write_inode = xfs_fs_write_inode,
@@ -887,7 +887,7 @@ STATIC struct super_operations xfs_super_operations = {
887 .show_options = xfs_fs_show_options, 887 .show_options = xfs_fs_show_options,
888}; 888};
889 889
890STATIC struct quotactl_ops xfs_quotactl_operations = { 890static struct quotactl_ops xfs_quotactl_operations = {
891 .quota_sync = xfs_fs_quotasync, 891 .quota_sync = xfs_fs_quotasync,
892 .get_xstate = xfs_fs_getxstate, 892 .get_xstate = xfs_fs_getxstate,
893 .set_xstate = xfs_fs_setxstate, 893 .set_xstate = xfs_fs_setxstate,