Message ID | cover.1664999303.git.boris@bur.io (mailing list archive) |
---|---|
Headers | show |
Series | btrfs: data block group size classes | expand |
On Wed, Oct 05, 2022 at 12:49:17PM -0700, Boris Burkov wrote: > This patch set introduces the notion of size classes to the block group > allocator for data block groups. This is specifically useful because the > first fit allocator tends to perform poorly when large extents free up > in older block groups and small writes suddenly shift there. Generally, > it should lead to slightly more predictable allocator behavior as the > gaps left by frees will be used by allocations of a similar size. > > Details about the changes and performance testing are in the individual > commit messages. > > The last two patches constitute the business of the change. One adds the > size classes and the other handles the fact that we don't want to > persist the size class, so we don't know it when we first load a block > group. > > Boris Burkov (5): > btrfs: 1G falloc extents > btrfs: use ffe_ctl in btrfs allocator tracepoints > btrfs: add more ffe tracepoints > btrfs: introduce size class to block group allocator > btrfs: load block group size class when caching I'll merge patches 2 and 3 extending the tracepoints as it's independent, I think you wanted to benchmark again the patchset as the first patch gets dropped.