aboutsummaryrefslogtreecommitdiffstats
path: root/block/cfq-iosched.c
diff options
context:
space:
mode:
authorGui Jianfeng <guijianfeng@cn.fujitsu.com>2009-12-08 02:54:17 -0500
committerJens Axboe <jens.axboe@oracle.com>2009-12-09 09:11:03 -0500
commitb9d8f4c73b1af4cfd53f819bf84c2bce31232275 (patch)
tree2ae92bc6cabfd9d2308902c3ac92f04fe6fbf1fb /block/cfq-iosched.c
parenta3b8d92d25212c5b6534ae9b347ed2858de78336 (diff)
cfq: Optimization for close cooperating queue searching
It doesn't make any sense to try to find out a close cooperating queue if current cfqq is the only one in the group. Signed-off-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'block/cfq-iosched.c')
-rw-r--r--block/cfq-iosched.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
index 5009af490a0c..b19cd684bf12 100644
--- a/block/cfq-iosched.c
+++ b/block/cfq-iosched.c
@@ -1750,6 +1750,12 @@ static struct cfq_queue *cfq_close_cooperator(struct cfq_data *cfqd,
1750 return NULL; 1750 return NULL;
1751 1751
1752 /* 1752 /*
1753 * Don't search priority tree if it's the only queue in the group.
1754 */
1755 if (cur_cfqq->cfqg->nr_cfqq == 1)
1756 return NULL;
1757
1758 /*
1753 * We should notice if some of the queues are cooperating, eg 1759 * We should notice if some of the queues are cooperating, eg
1754 * working closely on the same area of the disk. In that case, 1760 * working closely on the same area of the disk. In that case,
1755 * we can group them together and don't waste time idling. 1761 * we can group them together and don't waste time idling.