<div dir='auto'>Ha, nice catch Mikulas!! Whew what a relief...<div dir="auto"><br></div><div dir="auto">Joe: way to tip the scales in dm-cache's favor! :)</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Feb 5, 2020 4:17 AM, Mikulas Patocka <mpatocka@redhat.com> wrote:<br type="attribution" /><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Here I'm sending a patch for device mapper tests suite. With this patch,
<br>
the cache is allocated on the fast device. It performs slightly better
<br>
than dm-cache on the git-checkout benchmark:
<br>
<br>
DM-CACHE git tests:
<br>
SMQComparisonTests
<br>
git_extract_only_across_cache_size_smq...formatting ...
<br>
getting repo ...
<br>
Elapsed 89.0716564: git_prepare
<br>
Checking out v2.6.12 ...
<br>
Checking out v2.6.13 ...
<br>
Checking out v2.6.14 ...
<br>
Elapsed 98.78236956: extract all versions
<br>
Checking out v2.6.12 ...
<br>
Checking out v2.6.13 ...
<br>
Checking out v2.6.14 ...
<br>
Elapsed 81.25339984: extract all versions
<br>
Elapsed 271.27901308: cache size = 256, policy = smq
<br>
formatting ...
<br>
getting repo ...
<br>
Elapsed 80.05892212: git_prepare
<br>
Checking out v2.6.12 ...
<br>
Checking out v2.6.13 ...
<br>
Checking out v2.6.14 ...
<br>
Elapsed 84.97932172: extract all versions
<br>
<br>
<br>
DM-WRITECACHE git tests:
<br>
Loaded suite writecache
<br>
WriteCacheBenchmarks
<br>
git_extract_only_across_cache_size...formatting ...
<br>
getting repo ...
<br>
Elapsed 81.97540516: git_prepare
<br>
Checking out v2.6.12 ...
<br>
Checking out v2.6.13 ...
<br>
Checking out v2.6.14 ...
<br>
Elapsed 79.58938916: extract all versions
<br>
Checking out v2.6.12 ...
<br>
Checking out v2.6.13 ...
<br>
Checking out v2.6.14 ...
<br>
Elapsed 73.42351832: extract all versions
<br>
Elapsed 241.46500768: cache size = 256
<br>
formatting ...
<br>
getting repo ...
<br>
Elapsed 89.21745808: git_prepare
<br>
Checking out v2.6.12 ...
<br>
Checking out v2.6.13 ...
<br>
Checking out v2.6.14 ...
<br>
Elapsed 74.49628804: extract all versions
<br>
<br>
<br>
From: Mikulas Patocka <mpatocka@redhat.com>
<br>
<br>
Writecache tests used the slow device for both data and cache device -
<br>
this resulted in horrible performance.
<br>
<br>
This patch fixes it, so that the fast device is used for the cache.
<br>
<br>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
<br>
<br>
---
<br>
lib/dmtest/writecache-stack.rb | 12 +++++-------
<br>
1 file changed, 5 insertions(+), 7 deletions(-)
<br>
<br>
Index: device-mapper-test-suite/lib/dmtest/writecache-stack.rb
<br>
===================================================================
<br>
--- device-mapper-test-suite.orig/lib/dmtest/writecache-stack.rb 2020-02-05 10:02:41.000000000 +0100
<br>
+++ device-mapper-test-suite/lib/dmtest/writecache-stack.rb 2020-02-05 10:02:41.000000000 +0100
<br>
@@ -29,14 +29,12 @@ class WriteCacheStack
<br>
@cache = nil
<br>
@opts = opts
<br>
<br>
- #@tvm = TinyVolumeManager::VM.new
<br>
- #@tvm.add_allocation_volume(ssd_dev)
<br>
- #@tvm.add_volume(linear_vol('ssd', cache_size == :all ? @tvm.free_space : cache_size))
<br>
+ @tvm = TinyVolumeManager::VM.new
<br>
+ @tvm.add_allocation_volume(ssd_dev)
<br>
+ @tvm.add_volume(linear_vol('ssd', cache_size == :all ? @tvm.free_space : cache_size))
<br>
<br>
@data_tvm = TinyVolumeManager::VM.new
<br>
@data_tvm.add_allocation_volume(spindle_dev)
<br>
-
<br>
- @data_tvm.add_volume(linear_vol('ssd', cache_size == :all ? @tvm.free_space : cache_size))
<br>
@data_tvm.add_volume(linear_vol('origin', origin_size == :all ? @data_tvm.free_space : origin_size))
<br>
end
<br>
<br>
@@ -53,7 +51,7 @@ class WriteCacheStack
<br>
end
<br>
<br>
def activate_support_devs(&block)
<br>
- with_devs(@data_tvm.table('ssd'),
<br>
+ with_devs(@tvm.table('ssd'),
<br>
@data_tvm.table('origin')) do |ssd, origin|
<br>
@ssd = ssd
<br>
@origin = origin
<br>
@@ -71,7 +69,7 @@ class WriteCacheStack
<br>
end
<br>
<br>
def activate(&block)
<br>
- with_devs(@data_tvm.table('ssd'),
<br>
+ with_devs(@tvm.table('ssd'),
<br>
@data_tvm.table('origin')) do |ssd, origin|
<br>
@ssd = ssd
<br>
@origin = origin
<br>
</p>
</blockquote></div><br></div>