[dm-devel] New dm-bufio with shrinker API
Mikulas Patocka
mpatocka at redhat.com
Mon Sep 5 16:01:28 UTC 2011
> I don't understand the correspondence between 'cache_size' and
> 'peak_allocated'. I just ran a test and got these numbers:
>
> cache_size: 7475200
> peak_allocated: 974848
>
> Is the cache_size correct? 7M seems an awful lot.
"cache_size" is the value that you set as a maximum cache size. The
default is 2% of memory or 25% of vmalloc area.
"cache_size" doesn't change with benchmark that you run. You can set
cache size manually by writing the value to the file.
"peak_allocated" is the maximum number of bytes that was actually in use.
"peak_allocated" grows as more cache is allocated, but it is never shrunk.
> With the old block manager the test suite ran nicely with
> less than 256k, from memory I think I started seeing slow down around
> 128k. With bufio I'm seeing consistently larger cache sizes for the
> same performance.
So, reduce cache_size to 256k (or whatever value you want to test) and see
how it performs.
> For instance the test_overwriting_various_thin_devices scenario from
> here
> (https://github.com/jthornber/thinp-test-suite/blob/master/basic_tests.rb)
> has a peak use of ~1100k, if I change from using dt with random io
> pattern to plain old dd then the usage drops to ~900k. Setting the
> max_age parameter to 1 second had very little effect.
Reduce cache_size and try it.
> Can we really not avoid using dm-io to submit the ios? I was suprised
> to see that in there when scanning the code for parameter names.
If we didn't use dm-io, then we'd have to submit several bios in parallel.
It is possible to avoid dm-io, but it makes no sense, because we would be
duplicating dm-io logic in dm-bufio then.
Mikulas
> - Joe
>
More information about the dm-devel
mailing list