xfs: reduce the number of pagb_lock roundtrips in xfs_alloc_clear_busy
authorChristoph Hellwig <hch@infradead.org>
Sun, 24 Apr 2011 19:06:17 +0000 (19:06 +0000)
committerAlex Elder <aelder@sgi.com>
Thu, 28 Apr 2011 18:18:09 +0000 (13:18 -0500)
commit8a072a4d4c6a5b6ec32836c467d2996393c76c6f
treeb21dad1310e4351854b9e2e24feb86beed20d1f7
parent97d3ac75e5e0ebf7ca38ae74cebd201c09b97ab2
xfs: reduce the number of pagb_lock roundtrips in xfs_alloc_clear_busy

Instead of finding the per-ag and then taking and releasing the pagb_lock
for every single busy extent completed sort the list of busy extents and
only switch betweens AGs where nessecary.  This becomes especially important
with the online discard support which will hit this lock more often.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Alex Elder <aelder@sgi.com>
fs/xfs/linux-2.6/xfs_buf.c
fs/xfs/linux-2.6/xfs_linux.h
fs/xfs/xfs_alloc.c
fs/xfs/xfs_alloc.h
fs/xfs/xfs_log_cil.c
fs/xfs/xfs_trans.c