[PATCH 16/20] blkio: do not select co-operating queues from different cfq groups

From: Vivek Goyal
Date: Tue Nov 03 2009 - 18:47:27 EST


o Select co-operating queue from same group not from a different cfq_group
to maintain the notion of fairness and isolation between groups.

Signed-off-by: Vivek Goyal <vgoyal@xxxxxxxxxx>
---
block/cfq-iosched.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
index 98dbead..020d6dd 100644
--- a/block/cfq-iosched.c
+++ b/block/cfq-iosched.c
@@ -1635,6 +1635,10 @@ static struct cfq_queue *cfq_close_cooperator(struct cfq_data *cfqd,
if (!cfqq)
return NULL;

+ /* If new queue belongs to different cfq_group, don't choose it */
+ if (cfqq_to_cfqg(cur_cfqq) != cfqq_to_cfqg(cfqq))
+ return NULL;
+
if (cfq_cfqq_coop(cfqq))
return NULL;

--
1.6.2.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/