xfs: reduce the number of CIL lock round trips during commit
authorDave Chinner <dchinner@redhat.com>
Fri, 24 Sep 2010 08:14:13 +0000 (18:14 +1000)
committerAlex Elder <aelder@sgi.com>
Mon, 18 Oct 2010 20:07:42 +0000 (15:07 -0500)
commitd1583a3833290ab9f8b13a064acbb5e508c59f60
tree8d349b284c80bc42e6e0ea5bb60824f723be617d
parent9c169915ad374cd9efb1556943b2074ec07e1749
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>
fs/xfs/xfs_log_cil.c
This page took 0.030035 seconds and 5 git commands to generate.