aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_fsops.c
diff options
context:
space:
mode:
authorDavid Chinner <dgc@sgi.com>2006-03-13 21:13:09 -0500
committerNathan Scott <nathans@sgi.com>2006-03-13 21:13:09 -0500
commit8d280b98cfe3c0b69c37d355218975c1c0279bb0 (patch)
tree2dc1deaec23a7da29b72152a4225c2600dacf1d4 /fs/xfs/xfs_fsops.c
parent9f4cbecd7e5ee6390fecd6032dc04ca8c9805dc9 (diff)
[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_fsops.c')
-rw-r--r--fs/xfs/xfs_fsops.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/xfs/xfs_fsops.c b/fs/xfs/xfs_fsops.c
index b4d971b0158..56caa88713a 100644
--- a/fs/xfs/xfs_fsops.c
+++ b/fs/xfs/xfs_fsops.c
@@ -462,6 +462,7 @@ xfs_fs_counts(
462{ 462{
463 unsigned long s; 463 unsigned long s;
464 464
465 xfs_icsb_sync_counters_lazy(mp);
465 s = XFS_SB_LOCK(mp); 466 s = XFS_SB_LOCK(mp);
466 cnt->freedata = mp->m_sb.sb_fdblocks; 467 cnt->freedata = mp->m_sb.sb_fdblocks;
467 cnt->freertx = mp->m_sb.sb_frextents; 468 cnt->freertx = mp->m_sb.sb_frextents;