Commit a8cd1eba authored by Joe Thornber's avatar Joe Thornber Committed by Mike Snitzer

dm cache policy smq: only demote entries in bottom half of the clean multiqueue

Heavy IO load may mean there are very few clean blocks in the cache, and
we risk demoting entries that get hit a lot.
Signed-off-by: default avatarJoe Thornber <ejt@redhat.com>
Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
parent 072792dc
...@@ -1190,7 +1190,7 @@ static void queue_demotion(struct smq_policy *mq) ...@@ -1190,7 +1190,7 @@ static void queue_demotion(struct smq_policy *mq)
if (unlikely(WARN_ON_ONCE(!mq->migrations_allowed))) if (unlikely(WARN_ON_ONCE(!mq->migrations_allowed)))
return; return;
e = q_peek(&mq->clean, mq->clean.nr_levels, true); e = q_peek(&mq->clean, mq->clean.nr_levels / 2, true);
if (!e) { if (!e) {
if (!clean_target_met(mq, false)) if (!clean_target_met(mq, false))
queue_writeback(mq); queue_writeback(mq);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment