summaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_vfsops.c
diff options
context:
space:
mode:
authorDavid Chinner <dgc@sgi.com>2006-03-14 13:13:09 +1100
committerNathan Scott <nathans@sgi.com>2006-03-14 13:13:09 +1100
commit8d280b98cfe3c0b69c37d355218975c1c0279bb0 (patch)
tree2dc1deaec23a7da29b72152a4225c2600dacf1d4 /fs/xfs/xfs_vfsops.c
parent9f4cbecd7e5ee6390fecd6032dc04ca8c9805dc9 (diff)
downloadlinux-8d280b98cfe3c0b69c37d355218975c1c0279bb0.tar.gz
linux-8d280b98cfe3c0b69c37d355218975c1c0279bb0.tar.bz2
linux-8d280b98cfe3c0b69c37d355218975c1c0279bb0.zip
[XFS] On machines with more than 8 cpus, when running parallel I/O
threads, the incore superblock lock becomes the limiting factor for buffered write throughput. Make the contended fields in the incore superblock use per-cpu counters so that there is no global lock to limit scalability. SGI-PV: 946630 SGI-Modid: xfs-linux-melb:xfs-kern:25106a Signed-off-by: David Chinner <dgc@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_vfsops.c')
-rw-r--r--fs/xfs/xfs_vfsops.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/xfs/xfs_vfsops.c b/fs/xfs/xfs_vfsops.c
index 2a0a9efb8ccb..2e1045837881 100644
--- a/fs/xfs/xfs_vfsops.c
+++ b/fs/xfs/xfs_vfsops.c
@@ -55,7 +55,7 @@
#include "xfs_clnt.h"
#include "xfs_fsops.h"
-STATIC int xfs_sync(bhv_desc_t *, int, cred_t *);
+STATIC int xfs_sync(bhv_desc_t *, int, cred_t *);
int
xfs_init(void)
@@ -807,6 +807,7 @@ xfs_statvfs(
statp->f_type = XFS_SB_MAGIC;
+ xfs_icsb_sync_counters_lazy(mp);
s = XFS_SB_LOCK(mp);
statp->f_bsize = sbp->sb_blocksize;
lsize = sbp->sb_logstart ? sbp->sb_logblocks : 0;