Skip to content

Commit

Permalink
Revert "block: recursive merge requests"
Browse files Browse the repository at this point in the history
This reverts commit 2741932.

We have some problems related to selection of empty queues
that need to be resolved, evidence so far points to the
recursive merge logic making either being the cause or at
least the accelerator for this. So revert it for now, until
we figure this out.

Signed-off-by: Jens Axboe <[email protected]>
  • Loading branch information
axboe committed Jan 15, 2012
1 parent 6898e3b commit 5d381ef
Showing 1 changed file with 4 additions and 12 deletions.
16 changes: 4 additions & 12 deletions block/elevator.c
Original file line number Diff line number Diff line change
Expand Up @@ -515,7 +515,6 @@ static bool elv_attempt_insert_merge(struct request_queue *q,
struct request *rq)
{
struct request *__rq;
bool ret;

if (blk_queue_nomerges(q))
return false;
Expand All @@ -529,21 +528,14 @@ static bool elv_attempt_insert_merge(struct request_queue *q,
if (blk_queue_noxmerges(q))
return false;

ret = false;
/*
* See if our hash lookup can find a potential backmerge.
*/
while (1) {
__rq = elv_rqhash_find(q, blk_rq_pos(rq));
if (!__rq || !blk_attempt_req_merge(q, __rq, rq))
break;

/* The merged request could be merged with others, try again */
ret = true;
rq = __rq;
}
__rq = elv_rqhash_find(q, blk_rq_pos(rq));
if (__rq && blk_attempt_req_merge(q, __rq, rq))
return true;

return ret;
return false;
}

void elv_merged_request(struct request_queue *q, struct request *rq, int type)
Expand Down

0 comments on commit 5d381ef

Please sign in to comment.