]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - block/cfq-iosched.c
block: as/cfq ssd idle check update
[linux-2.6-omap-h63xx.git] / block / cfq-iosched.c
index 03a5953bb5df0cb16eb004bf8acb9bdbf3baad22..6a062eebbd15301320e7491b5dd45d17f2204a3c 100644 (file)
@@ -879,9 +879,11 @@ static void cfq_arm_slice_timer(struct cfq_data *cfqd)
        unsigned long sl;
 
        /*
-        * SSD device without seek penalty, disable idling
+        * SSD device without seek penalty, disable idling. But only do so
+        * for devices that support queuing, otherwise we still have a problem
+        * with sync vs async workloads.
         */
-       if (blk_queue_nonrot(cfqd->queue))
+       if (blk_queue_nonrot(cfqd->queue) && cfqd->hw_tag)
                return;
 
        WARN_ON(!RB_EMPTY_ROOT(&cfqq->sort_list));