Re: [PATCH v2 2/4] btrfs: relocation: Check cancel request after each data page read

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2/11/20 12:37 AM, Qu Wenruo wrote:
When relocating a data extents with large large data extents, we spend
most of our time in relocate_file_extent_cluster() at stage "moving data
extents":
  1)               |  btrfs_relocate_block_group [btrfs]() {
  1)               |    relocate_file_extent_cluster [btrfs]() {
  1) $ 6586769 us  |    }
  1) + 18.260 us   |    relocate_file_extent_cluster [btrfs]();
  1) + 15.770 us   |    relocate_file_extent_cluster [btrfs]();
  1) $ 8916340 us  |  }
  1)               |  btrfs_relocate_block_group [btrfs]() {
  1)               |    relocate_file_extent_cluster [btrfs]() {
  1) $ 11611586 us |    }
  1) + 16.930 us   |    relocate_file_extent_cluster [btrfs]();
  1) + 15.870 us   |    relocate_file_extent_cluster [btrfs]();
  1) $ 14986130 us |  }

So to make data relocation cancelling quicker, here add extra balance
cancelling check after each page read in relocate_file_extent_cluster().

Signed-off-by: Qu Wenruo <wqu@xxxxxxxx>

If you respin, can you note that with this cancellation we'll break out and merge the reloc roots, its not like everything will just be left over to be completed at the next mount.

Reviewed-by: Josef Bacik <josef@xxxxxxxxxxxxxx>

Thanks,

Josef



[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux