diff options
author | Gui Jianfeng <guijianfeng@cn.fujitsu.com> | 2009-12-08 08:54:17 +0100 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2009-12-09 15:11:03 +0100 |
commit | b9d8f4c73b1af4cfd53f819bf84c2bce31232275 (patch) | |
tree | 2ae92bc6cabfd9d2308902c3ac92f04fe6fbf1fb | |
parent | a3b8d92d25212c5b6534ae9b347ed2858de78336 (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>
-rw-r--r-- | block/cfq-iosched.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 5009af490a0..b19cd684bf1 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, return NULL; /* + * Don't search priority tree if it's the only queue in the group. + */ + if (cur_cfqq->cfqg->nr_cfqq == 1) + return NULL; + + /* * We should notice if some of the queues are cooperating, eg * working closely on the same area of the disk. In that case, * we can group them together and don't waste time idling. |