aboutsummaryrefslogtreecommitdiffstats
path: root/block/cfq-iosched.c
diff options
context:
space:
mode:
authorVivek Goyal <vgoyal@redhat.com>2009-12-16 17:52:57 -0500
committerJens Axboe <jens.axboe@oracle.com>2009-12-18 06:40:21 -0500
commit1db32c40600437c5e049796bd32f49f61244c6ef (patch)
tree09f72cf149d7d9034bc3cbcf9597e413c081c5d3 /block/cfq-iosched.c
parent4a63b030d75a063b910b2bab014d84837cb33eb7 (diff)
cfq-iosched: Remove the check for same cfq group from allow_merge
o allow_merge() already checks if submitting task is pointing to same cfqq as rq has been queued in. If everything is fine, we should not be having a task in one cgroup and having a pointer to cfqq in other cgroup. Well I guess in some situations it can happen and that is, when a random IO queue has been moved into root cgroup for group_isolation=0. In this case, tasks's cgroup/group is different from where actually cfqq is, but this is intentional and in this case merging should be allowed. The second situation is where due to close cooperator patches, multiple processes can be sharing a cfqq. If everything implemented right, we should not end up in a situation where tasks from different processes in different groups are sharing the same cfqq as we allow merging of cooperating queues only if they are in same group. Signed-off-by: Vivek Goyal <vgoyal@redhat.com> Reviewed-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.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
index e2f80463ed0d..a0e5347767d9 100644
--- a/block/cfq-iosched.c
+++ b/block/cfq-iosched.c
@@ -1513,9 +1513,6 @@ static int cfq_allow_merge(struct request_queue *q, struct request *rq,
1513 struct cfq_io_context *cic; 1513 struct cfq_io_context *cic;
1514 struct cfq_queue *cfqq; 1514 struct cfq_queue *cfqq;
1515 1515
1516 /* Deny merge if bio and rq don't belong to same cfq group */
1517 if ((RQ_CFQQ(rq))->cfqg != cfq_get_cfqg(cfqd, 0))
1518 return false;
1519 /* 1516 /*
1520 * Disallow merge of a sync bio into an async request. 1517 * Disallow merge of a sync bio into an async request.
1521 */ 1518 */