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: http://marc.info/?l=linux-kernel&m=130082329118907&w=2 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 _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs