diff options
author | David Chinner <dgc@sgi.com> | 2007-02-10 02:34:56 -0500 |
---|---|---|
committer | Tim Shimmin <tes@sgi.com> | 2007-02-10 02:34:56 -0500 |
commit | 7989cb8ef5dbc1411d3be48218c7b25ef6e71699 (patch) | |
tree | 607efa745911951a30712de44a837c1df952bd3a /fs/xfs/xfs_mount.c | |
parent | 5e6a07dfe404cd4d8494d842b54706cb007fa04b (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/xfs_mount.c')
-rw-r--r-- | fs/xfs/xfs_mount.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c index 9dfae18d995f..397730f570b9 100644 --- a/fs/xfs/xfs_mount.c +++ b/fs/xfs/xfs_mount.c | |||
@@ -1802,7 +1802,7 @@ xfs_icsb_destroy_counters( | |||
1802 | } | 1802 | } |
1803 | } | 1803 | } |
1804 | 1804 | ||
1805 | STATIC inline void | 1805 | STATIC_INLINE void |
1806 | xfs_icsb_lock_cntr( | 1806 | xfs_icsb_lock_cntr( |
1807 | xfs_icsb_cnts_t *icsbp) | 1807 | xfs_icsb_cnts_t *icsbp) |
1808 | { | 1808 | { |
@@ -1811,7 +1811,7 @@ xfs_icsb_lock_cntr( | |||
1811 | } | 1811 | } |
1812 | } | 1812 | } |
1813 | 1813 | ||
1814 | STATIC inline void | 1814 | STATIC_INLINE void |
1815 | xfs_icsb_unlock_cntr( | 1815 | xfs_icsb_unlock_cntr( |
1816 | xfs_icsb_cnts_t *icsbp) | 1816 | xfs_icsb_cnts_t *icsbp) |
1817 | { | 1817 | { |
@@ -1819,7 +1819,7 @@ xfs_icsb_unlock_cntr( | |||
1819 | } | 1819 | } |
1820 | 1820 | ||
1821 | 1821 | ||
1822 | STATIC inline void | 1822 | STATIC_INLINE void |
1823 | xfs_icsb_lock_all_counters( | 1823 | xfs_icsb_lock_all_counters( |
1824 | xfs_mount_t *mp) | 1824 | xfs_mount_t *mp) |
1825 | { | 1825 | { |
@@ -1832,7 +1832,7 @@ xfs_icsb_lock_all_counters( | |||
1832 | } | 1832 | } |
1833 | } | 1833 | } |
1834 | 1834 | ||
1835 | STATIC inline void | 1835 | STATIC_INLINE void |
1836 | xfs_icsb_unlock_all_counters( | 1836 | xfs_icsb_unlock_all_counters( |
1837 | xfs_mount_t *mp) | 1837 | xfs_mount_t *mp) |
1838 | { | 1838 | { |