[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>
This commit is contained in:
David Chinner
2007-02-10 18:34:56 +11:00
committed by Tim Shimmin
parent 5e6a07dfe4
commit 7989cb8ef5
23 changed files with 89 additions and 65 deletions

View File

@@ -1802,7 +1802,7 @@ xfs_icsb_destroy_counters(
}
}
STATIC inline void
STATIC_INLINE void
xfs_icsb_lock_cntr(
xfs_icsb_cnts_t *icsbp)
{
@@ -1811,7 +1811,7 @@ xfs_icsb_lock_cntr(
}
}
STATIC inline void
STATIC_INLINE void
xfs_icsb_unlock_cntr(
xfs_icsb_cnts_t *icsbp)
{
@@ -1819,7 +1819,7 @@ xfs_icsb_unlock_cntr(
}
STATIC inline void
STATIC_INLINE void
xfs_icsb_lock_all_counters(
xfs_mount_t *mp)
{
@@ -1832,7 +1832,7 @@ xfs_icsb_lock_all_counters(
}
}
STATIC inline void
STATIC_INLINE void
xfs_icsb_unlock_all_counters(
xfs_mount_t *mp)
{