Message ID | cover.1571865774.git.dennis@kernel.org (mailing list archive) |
---|---|
Headers | show |
Series | btrfs: async discard support | expand |
On Wed, Oct 23, 2019 at 06:52:54PM -0400, Dennis Zhou wrote: > Data: > On a number of webservers, I collected data every minute accounting the > time we spent in btrfs_finish_extent_commit() (col. 1) and in > btrfs_commit_transaction() (col. 2). btrfs_finish_extent_commit() is > where we discard extents synchronously before returning them to the > free space cache. > > discard=sync: > p99 total per minute p99 total per minute > Drive | extent_commit() (ms) | commit_trans() (ms) > --------------------------------------------------------------- > Drive A | 434 | 1170 > Drive B | 880 | 2330 > Drive C | 2943 | 3920 > Drive D | 4763 | 5701 > > discard=async: > p99 total per minute p99 total per minute > Drive | extent_commit() (ms) | commit_trans() (ms) > -------------------------------------------------------------- > Drive A | 134 | 956 > Drive B | 64 | 1972 > Drive C | 59 | 1032 > Drive D | 62 | 1200 > > While it's not great that the stats are cumulative over 1m, all of these > servers are running the same workload and and the delta between the two > are substantial. We are spending significantly less time in > btrfs_finish_extent_commit() which is responsible for discarding. Nice, thanks for getting the numbers. I think we can slap them to the patch that introduceds async discard which is 5/22. I went through the patchset, looks good, though I'm sure I missed some small things, it's a lot of code. I'm going to add it first thing to 5.6 patch queue. There are some minor conflicts with patches in 5.5 queue, so this will need to be sorted. I've seen some feedback to address, it would be IMHO best to resend the whole series. Thanks.