On 03/16/12 12:55, Christoph Hellwig wrote:
Provide a variant of xlog_assign_tail_lsn that has the AIL lock already held. By doing so we do an additional atomic_read + atomic_set under the lock, which comes down to two instructions. Switch xfs_trans_ail_update_bulk and xfs_trans_ail_delete_bulk to the new version to reduce the number of lock roundtrips, and prepare for a new addition that would require a third lock roundtrip in xfs_trans_ail_delete_bulk. This addition is also the reason for slightly rearranging the conditionals and relying on xfs_log_space_wake for checking that the filesystem has been shut down internally. Signed-off-by: Christoph Hellwig<hch@xxxxxx> --- fs/xfs/xfs_log.c | 31 +++++++++++++++++++++++-------- fs/xfs/xfs_log.h | 1 + fs/xfs/xfs_trans_ail.c | 22 +++++++++++++++------- fs/xfs/xfs_trans_priv.h | 1 + 4 files changed, 40 insertions(+), 15 deletions(-) Index: xfs/fs/xfs/xfs_log.c =================================================================== --- xfs.orig/fs/xfs/xfs_log.c 2012-03-16 12:44:55.880363918 +0100 +++ xfs/fs/xfs/xfs_log.c 2012-03-16 12:50:24.040370003 +0100 @@ -915,27 +915,42 @@ xfs_log_need_covered(xfs_mount_t *mp) * We may be holding the log iclog lock upon entering this routine. */
Looks good. Reviewed-by: Mark Tinguely <tinguely@xxxxxxx> _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs