From cc7e394024770d4bfd8463fab1a9e2e262a7d7c1 Mon Sep 17 00:00:00 2001
From: Joe Thornber <ejt@redhat.com>
Date: Fri, 31 Mar 2017 10:46:54 -0400
Subject: [PATCH] dm cache policy smq: make the cleaner policy write-back more
 aggressively

By ignoring the sentinels the cleaner policy is able to write-back dirty
cache data much faster.  There is no reason to respect the sentinels,
which denote that a block was changed recently, when using the cleaner
policy given that the cleaner is tasked with writing back all dirty
data.

Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
---
 drivers/md/dm-cache-policy-smq.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/md/dm-cache-policy-smq.c b/drivers/md/dm-cache-policy-smq.c
index 74436dc2122f..e0c40aec5e96 100644
--- a/drivers/md/dm-cache-policy-smq.c
+++ b/drivers/md/dm-cache-policy-smq.c
@@ -1166,7 +1166,7 @@ static void queue_writeback(struct smq_policy *mq)
 	struct policy_work work;
 	struct entry *e;
 
-	e = q_peek(&mq->dirty, mq->dirty.nr_levels, false);
+	e = q_peek(&mq->dirty, mq->dirty.nr_levels, !mq->migrations_allowed);
 	if (e) {
 		mark_pending(mq, e);
 		q_del(&mq->dirty, e);
-- 
GitLab