From ac4104d063e518d183ec032cd1b9ddac4549f28f Mon Sep 17 00:00:00 2001 From: Joe Thornber Date: Mon, 24 Aug 2015 11:24:55 +0100 Subject: [PATCH] add prefetching --- thin-provisioning/thin_show_duplicates.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/thin-provisioning/thin_show_duplicates.cc b/thin-provisioning/thin_show_duplicates.cc index 9be5c07..3142e62 100644 --- a/thin-provisioning/thin_show_duplicates.cc +++ b/thin-provisioning/thin_show_duplicates.cc @@ -136,6 +136,8 @@ namespace { cache_(new block_cache(fd_, block_size / 512, nr_blocks_, cache_mem)), current_index_(0) { load(0); + for (block_address i = 1; i < min(cache_blocks_, nr_blocks_); i++) + cache_->prefetch(i); } virtual void rewind() { @@ -165,6 +167,9 @@ namespace { current_chunk_.mem_.clear(); current_chunk_.mem_.push_back(mem(current_block_.get_data(), current_block_.get_data() + block_size_)); + + if (current_index_ + cache_blocks_ < nr_blocks_) + cache_->prefetch(current_index_ + cache_blocks_); } block_address block_size_;