[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:
committed by
Tim Shimmin
parent
5e6a07dfe4
commit
7989cb8ef5
@@ -54,7 +54,7 @@ xfs_stats_clear_proc_handler(
|
||||
}
|
||||
#endif /* CONFIG_PROC_FS */
|
||||
|
||||
STATIC ctl_table xfs_table[] = {
|
||||
static ctl_table xfs_table[] = {
|
||||
{XFS_RESTRICT_CHOWN, "restrict_chown", &xfs_params.restrict_chown.val,
|
||||
sizeof(int), 0644, NULL, &proc_dointvec_minmax,
|
||||
&sysctl_intvec, NULL,
|
||||
@@ -136,12 +136,12 @@ STATIC ctl_table xfs_table[] = {
|
||||
{0}
|
||||
};
|
||||
|
||||
STATIC ctl_table xfs_dir_table[] = {
|
||||
static ctl_table xfs_dir_table[] = {
|
||||
{FS_XFS, "xfs", NULL, 0, 0555, xfs_table},
|
||||
{0}
|
||||
};
|
||||
|
||||
STATIC ctl_table xfs_root_table[] = {
|
||||
static ctl_table xfs_root_table[] = {
|
||||
{CTL_FS, "fs", NULL, 0, 0555, xfs_dir_table},
|
||||
{0}
|
||||
};
|
||||
|
Reference in New Issue
Block a user