[PATCH 3/4] xfs: exact busy extent tracking
Alex Elder
aelder at sgi.com
Thu Apr 21 15:08:20 CDT 2011
On Mon, 2011-04-18 at 02:59 -0400, Christoph Hellwig wrote:
> Update the extent tree in case we have to reuse a busy extent, so that it
> always is kept uptodate. This is done by replacing the busy list searches
> with a new xfs_alloc_busy_reuse helper, which updates the busy extent tree
> in case of a reuse. This allows us to allow reusing metadata extents
> unconditionally, and thus avoid log forces especially for allocation btree
> blocks.
>
> Signed-off-by: Christoph Hellwig <hch at lst.de>
I think you finally got it Christoph.
I have one question--which I may have mentioned before--but
otherwise this looks good. I think the iterations have
resulted in a better result.
Reviewed-by: Alex Elder <aelder at sgi.com>
. . .
In xfs_alloc_busy_trim():
> @@ -2894,6 +2959,11 @@ fail:
> * re-check if the trimmed extent satisfies the minlen requirement.
> */
> spin_unlock(&args->pag->pagb_lock);
> + if (fbno != bno || flen != len) {
> + trace_xfs_alloc_busy_trim(args->mp, args->agno, bno, len,
> + fbno, flen);
> + }
> + trace_xfs_alloc_busy_trim(args->mp, args->agno, bno, len, fbno, 0);
> *rbno = fbno;
> *rlen = 0;
> }
I don't see why you do two trace calls here, the second
with 0 for the value of flen.
More information about the xfs
mailing list