diff options
| author | Christoph Hellwig <hch@lst.de> | 2023-05-03 17:24:25 +0200 |
|---|---|---|
| committer | David Sterba <dsterba@suse.com> | 2023-06-19 13:59:27 +0200 |
| commit | e95382834cf885b478dbe14a66451b863eb35c94 (patch) | |
| tree | 05ef5f76e03158cdc33541c66f8f693ee4afd4d9 /tools/perf/scripts/python | |
| parent | btrfs: merge verify_parent_transid and btrfs_buffer_uptodate (diff) | |
| download | linux-e95382834cf885b478dbe14a66451b863eb35c94.tar.gz linux-e95382834cf885b478dbe14a66451b863eb35c94.zip | |
btrfs: always read the entire extent_buffer
Currently read_extent_buffer_pages skips pages that are already uptodate
when reading in an extent_buffer. While this reduces the amount of data
read, it increases the number of I/O operations as we now need to do
multiple I/Os when reading an extent buffer with one or more uptodate
pages in the middle of it. On any modern storage device, be that hard
drives or SSDs this actually decreases I/O performance. Fortunately
this case is pretty rare as the pages are always initially read together
and then aged the same way. Besides simplifying the code a bit as-is
this will allow for major simplifications to the I/O completion handler
later on.
Note that the case where all pages are uptodate is still handled by an
optimized fast path that does not read any data from disk.
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
