[PATCH] cfq-iosched: replace sync_flight by rq_in_driver[BLK_RW_SYNC]

From: Corrado Zoccolo
Date: Wed Dec 30 2009 - 10:08:52 EST


According to my intuition (and brief testing), sync_flight is always
equal to rq_in_driver[BLK_RW_SYNC] at the point of usage, so it can
be removed and replaced by the other.

Signed-off-by: Corrado Zoccolo <czoccolo@xxxxxxxxx>
---
block/cfq-iosched.c | 8 +-------
1 files changed, 1 insertions(+), 7 deletions(-)

diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
index 01bb0f3..4865e08 100644
--- a/block/cfq-iosched.c
+++ b/block/cfq-iosched.c
@@ -228,7 +228,6 @@ struct cfq_data {
unsigned int busy_queues;

int rq_in_driver[2];
- int sync_flight;

/*
* queue-depth detection
@@ -1875,8 +1874,6 @@ static void cfq_dispatch_insert(struct request_queue *q, struct request *rq)
cfqq->dispatched++;
elv_dispatch_sort(q, rq);

- if (cfq_cfqq_sync(cfqq))
- cfqd->sync_flight++;
cfqq->nr_sectors += blk_rq_sectors(rq);
}

@@ -2229,7 +2226,7 @@ static bool cfq_may_dispatch(struct cfq_data *cfqd, struct cfq_queue *cfqq)
/*
* If this is an async queue and we have sync IO in flight, let it wait
*/
- if (cfqd->sync_flight && !cfq_cfqq_sync(cfqq))
+ if (cfqd->rq_in_driver[BLK_RW_SYNC] && !cfq_cfqq_sync(cfqq))
return false;

max_dispatch = cfqd->cfq_quantum;
@@ -3294,9 +3291,6 @@ static void cfq_completed_request(struct request_queue *q, struct request *rq)
cfqd->rq_in_driver[sync]--;
cfqq->dispatched--;

- if (cfq_cfqq_sync(cfqq))
- cfqd->sync_flight--;
-
if (sync) {
RQ_CIC(rq)->last_end_request = now;
if (!time_after(rq->start_time + cfqd->cfq_fifo_expire[1], now))
--
1.6.4.4

--
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/