diff options
author | Jens Axboe <axboe@fb.com> | 2015-06-10 08:01:20 -0600 |
---|---|---|
committer | Alex Shi <alex.shi@linaro.org> | 2016-06-08 11:09:44 +0800 |
commit | 32bd34de74fad5664519cf796ce836558b65aecb (patch) | |
tree | a35364be655aa345bbe017b04cc7580f7c371274 | |
parent | 1ed2eb01dcc5fbb53bd651dcf1c0a69999958542 (diff) |
cfq-iosched: fix the setting of IOPS mode on SSDs
A previous commit wanted to make CFQ default to IOPS mode on
non-rotational storage, however it did so when the queue was
initialized and the non-rotational flag is only set later on
in the probe.
Add an elevator hook that gets called off the add_disk() path,
at that point we know that feature probing has finished, and
we can reliably check for the various flags that drivers can
set.
Fixes: 41c0126b ("block: Make CFQ default to IOPS mode on SSDs")
Tested-by: Romain Francoise <romain@orebokech.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
(cherry picked from commit 0bb979472a7401022109e81dd89d777adea58710)
Signed-off-by: Alex Shi <alex.shi@linaro.org>
-rw-r--r-- | block/cfq-iosched.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 99c6872787b4..1f9093e901da 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c @@ -4578,7 +4578,7 @@ static int cfq_init_queue(struct request_queue *q, struct elevator_type *e) cfqd->cfq_slice[1] = cfq_slice_sync; cfqd->cfq_target_latency = cfq_target_latency; cfqd->cfq_slice_async_rq = cfq_slice_async_rq; - cfqd->cfq_slice_idle = blk_queue_nonrot(q) ? 0 : cfq_slice_idle; + cfqd->cfq_slice_idle = cfq_slice_idle; cfqd->cfq_group_idle = cfq_group_idle; cfqd->cfq_latency = 1; cfqd->hw_tag = -1; |