This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "XFS development tree". The branch, for-next has been updated bc236c3 xfs: use shared ilock mode for direct IO writes by default f169ed0 xfs: push the ilock into xfs_zero_eof 772b63c xfs: reduce ilock hold times in xfs_setattr_size 2584a09 xfs: reduce ilock hold times in xfs_file_aio_write_checks f4d74bb xfs: avoid taking the ilock unnessecarily in xfs_qm_dqattach from 8a00ebe4cfc90eda9ecb575ba97e22021cd8cf70 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit bc236c3b202daa6aecdb100522dcf078379210e5 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Mar 27 10:34:50 2012 -0400 xfs: use shared ilock mode for direct IO writes by default For the direct IO write path, we only really need the ilock to be taken in exclusive mode during IO submission if we need to do extent allocation instead of all the time. Change the block mapping code to take the ilock in shared mode for the initial block mapping, and only retake it exclusively when we actually have to perform extent allocations. We were already dropping the ilock for the transaction allocation, so this doesn't introduce new race windows. Based on an earlier patch from Dave Chinner. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Mark Tinguely <tinguely@xxxxxxx> Signed-off-by: Ben Myers <bpm@xxxxxxx> commit f169ed0da9e6975d6b08052f077b7d2204d4dbc1 Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Tue Mar 27 10:34:49 2012 -0400 xfs: push the ilock into xfs_zero_eof Instead of calling xfs_zero_eof with the ilock held only take it internally for the minimall required critical section around xfs_bmapi_read. This also requires changing the calling convention for xfs_zero_last_block slightly. The actual zeroing operation is still serialized by the iolock, which must be taken exclusively over the call to xfs_zero_eof. We could in fact use a shared lock for the xfs_bmapi_read calls as long as the extent list has been read in, but given that we already hold the iolock exclusively there is little reason to micro optimize this further. Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Mark Tinguely <tinguely@xxxxxxx> Signed-off-by: Ben Myers <bpm@xxxxxxx> commit 772b63c7cacb9edb5b1a4dc08070dae34a17171d Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Tue Mar 27 10:34:48 2012 -0400 xfs: reduce ilock hold times in xfs_setattr_size We do not need the ilock for most checks done in the beginning of xfs_setattr_size. Replace the long critical section before starting the transaction with a smaller one around xfs_zero_eof and an optional one inside xfs_qm_dqattach that isn't entered unless using quotas. While this isn't a big optimization for xfs_setattr_size itself it will allow pushing the ilock into xfs_zero_eof itself later. Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 2584a09b862d4da3f2a265254f8fb7524cac77ff Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Tue Mar 27 10:34:47 2012 -0400 xfs: reduce ilock hold times in xfs_file_aio_write_checks We do not need the ilock for generic_write_checks and the i_size_read, which are protected by i_mutex and/or iolock, so reduce the ilock critical section to just the call to xfs_zero_eof. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Mark Tinguely <tinguely@xxxxxxx> Signed-off-by: Ben Myers <bpm@xxxxxxx> commit f4d74bb6c36dfcf3a1fd9805add8f982418e04d5 Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Tue Mar 27 10:34:46 2012 -0400 xfs: avoid taking the ilock unnessecarily in xfs_qm_dqattach Check if we actually need to attach a dquot before taking the ilock in xfs_qm_dqattach. This avoid superflous lock roundtrips for the common cases of quota support compiled in but not activated on a filesystem and an inode that already has the dquots attached. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Mark Tinguely <tinguely@xxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Ben Myers <bpm@xxxxxxx> ----------------------------------------------------------------------- Summary of changes: fs/xfs/xfs_aops.c | 30 +++++++-- fs/xfs/xfs_file.c | 182 ++++++++++++++++++++-------------------------------- fs/xfs/xfs_iomap.c | 45 ++++++------- fs/xfs/xfs_iops.c | 12 ++-- fs/xfs/xfs_qm.c | 26 ++++++-- 5 files changed, 141 insertions(+), 154 deletions(-) hooks/post-receive -- XFS development tree _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs