diff options
| author | Liu Bo <[email protected]> | 2014-03-05 02:07:35 +0000 |
|---|---|---|
| committer | Josef Bacik <[email protected]> | 2014-03-10 19:17:19 +0000 |
| commit | 2131bcd38b18167f499f190acf3409dfe5b3c280 (patch) | |
| tree | 505aa099a705f6da3dec233c05fe0f827ff8cf84 /fs/btrfs/async-thread.c | |
| parent | Btrfs: share the same code for __record_{new,deleted}_ref (diff) | |
| download | kernel-2131bcd38b18167f499f190acf3409dfe5b3c280.tar.gz kernel-2131bcd38b18167f499f190acf3409dfe5b3c280.zip | |
Btrfs: add readahead for send_write
Btrfs send reads data from disk and then writes to a stream via pipe or
a file via flush.
Currently we're going to read each page a time, so every page results
in a disk read, which is not friendly to disks, esp. HDD. Given that,
the performance can be gained by adding readahead for those pages.
Here is a quick test:
$ btrfs subvolume create send
$ xfs_io -f -c "pwrite 0 1G" send/foobar
$ btrfs subvolume snap -r send ro
$ time "btrfs send ro -f /dev/null"
w/o w
real 1m37.527s 0m9.097s
user 0m0.122s 0m0.086s
sys 0m53.191s 0m12.857s
Signed-off-by: Liu Bo <[email protected]>
Reviewed-by: David Sterba <[email protected]>
Signed-off-by: Josef Bacik <[email protected]>
Diffstat (limited to 'fs/btrfs/async-thread.c')
0 files changed, 0 insertions, 0 deletions
