reduce l_icloglock roundtrips
authorChristoph Hellwig <hch@lst.de>
Wed, 3 Dec 2008 11:20:28 +0000 (12:20 +0100)
committerNiv Sardi <xaiki@sgi.com>
Thu, 4 Dec 2008 04:39:21 +0000 (15:39 +1100)
commit39e2defe73106ca2e1c85e5286038a0a13f49513
tree2a2f5c12d92ff8170f8e7f89bda56b1311b51a8d
parentd9424b3c4a1e96f87c6cfd4d8dd2f8d9bbb4dcc5
reduce l_icloglock roundtrips

All but one caller of xlog_state_want_sync drop and re-acquire
l_icloglock around the call to it, just so that xlog_state_want_sync can
acquire and drop it.

Move all lock operation out of l_icloglock and assert that the lock is
held when it is called.

Note that it would make sense to extende this scheme to
xlog_state_release_iclog, but the locking in there is more complicated
and we'd like to keep the atomic_dec_and_lock optmization for those
callers not having l_icloglock yet.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Niv Sardi <xaiki@sgi.com>
fs/xfs/xfs_log.c