aboutsummaryrefslogtreecommitdiffstats
path: root/fs/bad_inode.c
diff options
context:
space:
mode:
authorDave Chinner <dchinner@redhat.com>2010-09-24 18:14:13 +1000
committerAlex Elder <aelder@sgi.com>2010-10-18 15:07:42 -0500
commitd1583a3833290ab9f8b13a064acbb5e508c59f60 (patch)
tree8d349b284c80bc42e6e0ea5bb60824f723be617d /fs/bad_inode.c
parent9c169915ad374cd9efb1556943b2074ec07e1749 (diff)
downloadkernel_samsung_aries-d1583a3833290ab9f8b13a064acbb5e508c59f60.zip
kernel_samsung_aries-d1583a3833290ab9f8b13a064acbb5e508c59f60.tar.gz
kernel_samsung_aries-d1583a3833290ab9f8b13a064acbb5e508c59f60.tar.bz2
xfs: reduce the number of CIL lock round trips during commit
When commiting a transaction, we do a lock CIL state lock round trip on every single log vector we insert into the CIL. This is resulting in the lock being as hot as the inode and dcache locks on 8-way create workloads. Rework the insertion loops to bring the number of lock round trips to one per transaction for log vectors, and one more do the busy extents. Also change the allocation of the log vector buffer not to zero it as we copy over the entire allocated buffer anyway. This patch also includes a structural cleanup to the CIL item insertion provided by Christoph Hellwig. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Alex Elder <aelder@sgi.com>
Diffstat (limited to 'fs/bad_inode.c')
0 files changed, 0 insertions, 0 deletions