Re: [PATCH Linux 2.6.12-rc6-mm1 06/06] blk: remove last_merge handling from cfq iosched

From: Tejun Heo
Date: Thu Jun 16 2005 - 00:11:05 EST


06_blk_last_merge_consolidation_cfq.patch

Remove last_merge handling from cfq iosched

Signed-off-by: Tejun Heo <htejun@xxxxxxxxx>

cfq-iosched.c | 22 ++++------------------
1 files changed, 4 insertions(+), 18 deletions(-)

Index: blk-fixes/drivers/block/cfq-iosched.c
===================================================================
--- blk-fixes.orig/drivers/block/cfq-iosched.c 2005-06-16 13:55:38.000000000 +0900
+++ blk-fixes/drivers/block/cfq-iosched.c 2005-06-16 13:55:39.000000000 +0900
@@ -598,28 +598,20 @@ cfq_merge(request_queue_t *q, struct req
struct request *__rq;
int ret;

- ret = elv_try_last_merge(q, bio);
- if (ret != ELEVATOR_NO_MERGE) {
- __rq = q->last_merge;
- goto out_insert;
- }
-
__rq = cfq_find_rq_hash(cfqd, bio->bi_sector);
if (__rq && elv_rq_merge_ok(__rq, bio)) {
ret = ELEVATOR_BACK_MERGE;
- goto out;
+ goto found;
}

__rq = cfq_find_rq_rb(cfqd, bio->bi_sector + bio_sectors(bio));
if (__rq && elv_rq_merge_ok(__rq, bio)) {
ret = ELEVATOR_FRONT_MERGE;
- goto out;
+ goto found;
}

return ELEVATOR_NO_MERGE;
-out:
- q->last_merge = __rq;
-out_insert:
+ found:
*req = __rq;
return ret;
}
@@ -638,8 +630,6 @@ static void cfq_merged_request(request_q
cfq_update_next_crq(crq);
cfq_reposition_crq_rb(cfqq, crq);
}
-
- q->last_merge = req;
}

static void
@@ -1544,13 +1534,9 @@ static void cfq_insert_request(request_q

list_add_tail(&rq->queuelist, &cfqq->fifo);

- if (rq_mergeable(rq)) {
+ if (rq_mergeable(rq))
cfq_add_crq_hash(cfqd, crq);

- if (!cfqd->queue->last_merge)
- cfqd->queue->last_merge = rq;
- }
-
cfq_crq_enqueued(cfqd, cfqq, crq);
}


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