On Fri, 2011-01-21 at 04:22 -0500, Christoph Hellwig wrote: > plain text document attachment > (xfs-avoid-sync-transaction-for-freelist-refill) > If we shorten the freelist in xfs_alloc_fix_freelist there is no need > to wait for busy blocks as they will be marked busy again when we call > xfs_free_ag_extent. Avoid this by not marking blocks coming from the > freelist as busy in xfs_free_ag_extent, and not marking transactions > with busy extents as synchronous in xfs_alloc_get_freelist. Unlike > xfs_free_ag_extent which already has the isfl argument, > xfs_alloc_get_freelist needs to be told about the usage of the blocks > it returns. For this we extend the btreeblk flag to a type argument > which specifies in detail what the block is going to be used for. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> Now that I've found my way through the paths that this code touches (Dave's analysis helped a lot), I understand what you're doing and I think it looks good. I agree that the XFS_FREELIST_* symbols need a little explanation. And on a broader subject, it might be nice if the sort of lifecycle of this kind of thing was documented somewhere (maybe it is). It would be really cool if certain changes could point to a Wiki page with a diagram of what's going on or something. Nah... Reviewed-by: Alex Elder <aelder@xxxxxxx> _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs