xfs
[Top] [All Lists]

Re: [PATCH 2/4] xfs: do not discard alloc btree blocks

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: [PATCH 2/4] xfs: do not discard alloc btree blocks
From: Alex Elder <aelder@xxxxxxx>
Date: Thu, 19 May 2011 16:54:29 -0500
Cc: <xfs@xxxxxxxxxxx>
In-reply-to: <20110504190011.319521066@xxxxxxxxxxxxxxxxxxxxxx>
References: <20110504185513.136746538@xxxxxxxxxxxxxxxxxxxxxx> <20110504190011.319521066@xxxxxxxxxxxxxxxxxxxxxx>
Reply-to: <aelder@xxxxxxx>
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@xxxxxx>

This one looks good.  (If you add support for discard
with nodelaylog it will need to be updated.)

Reviewed-by: Alex Elder <aelder@xxxxxxx>


<Prev in Thread] Current Thread [Next in Thread>