[Top] [All Lists]

[PATCH 0/6] [PATCH 0/6] more efficient busy extent handling and discard

To: xfs@xxxxxxxxxxx
Subject: [PATCH 0/6] [PATCH 0/6] more efficient busy extent handling and discard support
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Tue, 22 Mar 2011 15:55:50 -0400
User-agent: quilt/0.48-1
This series updates the busy extent tracking to:

 a) keep exact track of busy extents
 b) allow reallocations where they are not a problem, that is generally
    everything but metadata -> userdata reallocations

The result is that compilebench is around 5% faster and neither it nor
any other workload I've thrown at the patchset causes a log force anymore.

The second to last patch also adds discard support, which is rather trivial
now that we do track the busy extents exactly.  The last patch further
optimizes the discard code to not stall the log state machine but
execute asynchronously.  This does however trigger a bug in the block
layer, for the report and a workaround see:


There is a few further optimizations we can add but I haven't done yet:

 - do not attempt to discard blocks on the AGFL, as the chance of reuse
   is very high, and we can't avoid reallocating from them
 - on SSDs preferably reuse blocks on the busy list to avoid discards

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