[PATCH 2/4] xfs: do not discard alloc btree blocks
Alex Elder
aelder at sgi.com
Thu May 19 16:54:29 CDT 2011
On Wed, 2011-05-04 at 14:55 -0400, Christoph Hellwig wrote:
> Blocks for the allocation btree are allocated from and release to
> the AGFL, and thus frequently reused. Even worse we do not have
> an easy way to avoid using an AGFL block when it is discarded due
> to the simple FILO list of free blocks, and thus can frequently
> stall on blocks that are currently undergoing a discard.
>
> Add a flag to the busy extent tracking structure to skip the discard for
> allocation btree blocks. In normal operation these blocks are reused
> frequently enough that there is no need to discard them anyway, but
> if they spill over to the allocation btree as part of a balance we
> "leak" blocks that we would otherwise discard. We could fix this
> by adding another flag and keeping these block in the rbtree even
> after they aren't busy any more so that we could discard them when
> they migrate out of the AGFL. Given that this would cause significant
> overhead I don't think it's worthwile for now.
>
> Signed-off-by: Christoph Hellwig <hch at lst.de>
This one looks good. (If you add support for discard
with nodelaylog it will need to be updated.)
Reviewed-by: Alex Elder <aelder at sgi.com>
More information about the xfs
mailing list