• Josef Bacik's avatar
    Btrfs: fix prealloc under heavy fragmentation conditions · 0b670dc4
    Josef Bacik authored
    If we are heavily fragmented we will continually try to prealloc the largest
    extent size we can every time we call btrfs_reserve_extent.  This can be very
    expensive when we are heavily fragmented, burning lots of CPU cycles and loops
    through the allocator.  So instead notice when we get a smaller chunk from the
    allocator than what we specified and use this as the new maximum size we try to
    allocate.  Thanks,
    Signed-off-by: default avatarJosef Bacik <jbacik@fb.com>
    Signed-off-by: default avatarChris Mason <clm@fb.com>
    0b670dc4
inode.c 264 KB