summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/locking.c
diff options
context:
space:
mode:
authorJosef Bacik <jbacik@fb.com>2015-09-29 11:40:47 -0400
committerChris Mason <clm@fb.com>2015-10-21 18:55:19 -0700
commit4f4db2174d8d6cdc093cbb79d17fbfe0f4d9fbde (patch)
treeae850a309ddfe971d0e862aafbfb951163b5a842 /fs/btrfs/locking.c
parent36af4e0737f6aa494e43497a5a34588a1d5cb12f (diff)
downloadblackbird-obmc-linux-4f4db2174d8d6cdc093cbb79d17fbfe0f4d9fbde.tar.gz
blackbird-obmc-linux-4f4db2174d8d6cdc093cbb79d17fbfe0f4d9fbde.zip
Btrfs: keep track of max_extent_size per space_info
When we are heavily fragmented we can induce a lot of latency trying to make an allocation happen that is simply not going to happen. Thankfully we keep track of our max_extent_size when going through the allocator, so if we get to the point where we are exiting find_free_extent with ENOSPC then set our space_info->max_extent_size so we can keep future allocations from having to pay this cost. We reset the max_extent_size whenever we release pinned bytes back into this space info so we can redo all the work. Thanks, Signed-off-by: Josef Bacik <jbacik@fb.com> Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to 'fs/btrfs/locking.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud