X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=block%2Fcfq-iosched.c;h=6a062eebbd15301320e7491b5dd45d17f2204a3c;hb=0e3d84a500d4e1672332b4961b98c35f6168e6f1;hp=03a5953bb5df0cb16eb004bf8acb9bdbf3baad22;hpb=a68bbddba486020c9c74825ce90c4c1ec463e0e8;p=linux-2.6-omap-h63xx.git diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 03a5953bb5d..6a062eebbd1 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) 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));