dm cache policy smq: allow demotions to happen even during continuous IO
authorJoe Thornber <ejt@redhat.com>
Wed, 3 May 2017 16:01:27 +0000 (12:01 -0400)
committerMike Snitzer <snitzer@redhat.com>
Thu, 4 May 2017 14:27:47 +0000 (10:27 -0400)
commitce1d64e84dbea98d41deaf5db0fe91fd729ad2cd
tree7d56b14e5ae0e3eccdbf8c6bb1d197072250ce6b
parent7b66f13207e60e7c550af730986e77e38a0c69a3
dm cache policy smq: allow demotions to happen even during continuous IO

dm-cache's smq policy tries hard to do it's work during the idle periods
when there is no IO.  But if there are no idle periods (eg, a long fio
run) we still need to allow some demotions and promotions to occur.

To achieve this, pass @idle=true to queue_promotion()'s
free_target_met() call so that free_target_met() doesn't short-circuit
the possibility of demotion simply because it isn't an idle period.

Fixes: b29d4986d0 ("dm cache: significant rework to leverage dm-bio-prison-v2")
Reported-by: John Harrigan <jharriga@redhat.com>
Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-cache-policy-smq.c