aboutsummaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
Diffstat (limited to 'block')
-rw-r--r--block/as-iosched.c4
-rw-r--r--block/cfq-iosched.c6
2 files changed, 7 insertions, 3 deletions
diff --git a/block/as-iosched.c b/block/as-iosched.c
index 4c6fafbba933..71f0abb219ee 100644
--- a/block/as-iosched.c
+++ b/block/as-iosched.c
@@ -745,11 +745,13 @@ static int as_can_break_anticipation(struct as_data *ad, struct request *rq)
745 */ 745 */
746static int as_can_anticipate(struct as_data *ad, struct request *rq) 746static int as_can_anticipate(struct as_data *ad, struct request *rq)
747{ 747{
748#if 0 /* disable for now, we need to check tag level as well */
748 /* 749 /*
749 * SSD device without seek penalty, disable idling 750 * SSD device without seek penalty, disable idling
750 */ 751 */
751 if (blk_queue_nonrot(ad->q)) 752 if (blk_queue_nonrot(ad->q)) axman
752 return 0; 753 return 0;
754#endif
753 755
754 if (!ad->io_context) 756 if (!ad->io_context)
755 /* 757 /*
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));