[dm-devel] dm-cache mq policy warmup issue

Mike Snitzer snitzer at redhat.com
Tue Nov 19 18:50:33 UTC 2013


On Wed, Nov 13 2013 at 11:13am -0500,
Mears, Morgan <Morgan.Mears at netapp.com> wrote:

> On Mon, Nov 04, 2013 at 12:22:26PM -0500, Krishnasamy, Somasundaram wrote:
> > Mike,
> > 
> > I was doing some testing with latest dm-cache code (from 'for-next' branch). I
> > am having difficulty in making the cache to warm-up. I used the below script
> > to read range of blocks repeatedly to get them promoted. I assume after
> > reading a block for mq->promote_threshold + 4 times, a block will be
> > promoted. But it is not happening. I also tested the same with the
> > sequential_threshold set to very high value.
> > 
> > Cache warming-up was relatively easier in the previous dm-cache code. Is this
> > something you have seen in your testing?. Is there anything different should I
> > do?
> 
> I'm also testing with the for-next branch of linux-dm.git and seeing the
> same thing as Somu.  It's easy to reproduce; reading the same block on the
> cached device over and over with dd does not result in that block being
> promoted.
> 
> I did notice that the "read miss" counter for the cached device increments
> each time I execute dd, which I believe means this isn't a buffer cache
> issue (I also used dd iflag=direct).  The migration_threshold value
> shouldn't be an issue for this test, but I set it to a very high value
> anyway; didn't make any difference.

The fix for this is now staged in linux-next, see:
http://git.kernel.org/cgit/linux/kernel/git/device-mapper/linux-dm.git/commit/?h=for-next&id=38863832030359bfa8153bee6d7045e372780deb

> Are there any tests in device-mapper-test-suite that you would recommend
> for testing whether promotions are occurring as expected?

Joe included more tests in device-mapper-test-suite, try:

dmtest run --suite cache -t /SingleBlockPromotionTests/

(the few tests that fail are due to extra IO that occurs due readahead
because buffered IO is used to read an entire block, the test needs
improving to use direct IO)




More information about the dm-devel mailing list