Commit 9f60511a authored by Josef Bacik's avatar Josef Bacik Committed by Jens Axboe

blk-iolatency: deal with nr_requests == 1

Hitting the case where blk_queue_depth() returned 1 uncovered the fact
that iolatency doesn't actually handle this case properly, it simply
doesn't scale down anybody.  For this case we should go straight into
applying the time delay, which we weren't doing.  Since we already limit
the floor at 1 request this if statement is not needed, and this allows
us to set our depth to 1 which allows us to apply the delay if needed.
Signed-off-by: default avatarJosef Bacik <josef@toxicpanda.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent ff4cee08
...@@ -312,7 +312,7 @@ static void scale_change(struct iolatency_grp *iolat, bool up) ...@@ -312,7 +312,7 @@ static void scale_change(struct iolatency_grp *iolat, bool up)
iolat->rq_depth.max_depth = old; iolat->rq_depth.max_depth = old;
wake_up_all(&iolat->rq_wait.wait); wake_up_all(&iolat->rq_wait.wait);
} }
} else if (old > 1) { } else {
old >>= 1; old >>= 1;
iolat->rq_depth.max_depth = max(old, 1UL); iolat->rq_depth.max_depth = max(old, 1UL);
} }
......
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