[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
@@ -57,9 +57,9 @@
|
||||
*/
|
||||
|
||||
#define ATTR_SYSCOUNT 2
|
||||
STATIC struct attrnames posix_acl_access;
|
||||
STATIC struct attrnames posix_acl_default;
|
||||
STATIC struct attrnames *attr_system_names[ATTR_SYSCOUNT];
|
||||
static struct attrnames posix_acl_access;
|
||||
static struct attrnames posix_acl_default;
|
||||
static struct attrnames *attr_system_names[ATTR_SYSCOUNT];
|
||||
|
||||
/*========================================================================
|
||||
* Function prototypes for the kernel.
|
||||
@@ -2477,7 +2477,7 @@ posix_acl_default_exists(
|
||||
return xfs_acl_vhasacl_default(vp);
|
||||
}
|
||||
|
||||
STATIC struct attrnames posix_acl_access = {
|
||||
static struct attrnames posix_acl_access = {
|
||||
.attr_name = "posix_acl_access",
|
||||
.attr_namelen = sizeof("posix_acl_access") - 1,
|
||||
.attr_get = posix_acl_access_get,
|
||||
@@ -2486,7 +2486,7 @@ STATIC struct attrnames posix_acl_access = {
|
||||
.attr_exists = posix_acl_access_exists,
|
||||
};
|
||||
|
||||
STATIC struct attrnames posix_acl_default = {
|
||||
static struct attrnames posix_acl_default = {
|
||||
.attr_name = "posix_acl_default",
|
||||
.attr_namelen = sizeof("posix_acl_default") - 1,
|
||||
.attr_get = posix_acl_default_get,
|
||||
@@ -2495,7 +2495,7 @@ STATIC struct attrnames posix_acl_default = {
|
||||
.attr_exists = posix_acl_default_exists,
|
||||
};
|
||||
|
||||
STATIC struct attrnames *attr_system_names[] =
|
||||
static struct attrnames *attr_system_names[] =
|
||||
{ &posix_acl_access, &posix_acl_default };
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user