diff options
Diffstat (limited to 'block/cfq-iosched.c')
-rw-r--r-- | block/cfq-iosched.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 03a5953bb5df..6a062eebbd15 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c | |||
@@ -879,9 +879,11 @@ static void cfq_arm_slice_timer(struct cfq_data *cfqd) | |||
879 | unsigned long sl; | 879 | unsigned long sl; |
880 | 880 | ||
881 | /* | 881 | /* |
882 | * SSD device without seek penalty, disable idling | 882 | * SSD device without seek penalty, disable idling. But only do so |
883 | * for devices that support queuing, otherwise we still have a problem | ||
884 | * with sync vs async workloads. | ||
883 | */ | 885 | */ |
884 | if (blk_queue_nonrot(cfqd->queue)) | 886 | if (blk_queue_nonrot(cfqd->queue) && cfqd->hw_tag) |
885 | return; | 887 | return; |
886 | 888 | ||
887 | WARN_ON(!RB_EMPTY_ROOT(&cfqq->sort_list)); | 889 | WARN_ON(!RB_EMPTY_ROOT(&cfqq->sort_list)); |