Commit 5d381efb authored by Jens Axboe's avatar Jens Axboe

Revert "block: recursive merge requests"

This reverts commit 27419322.

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: default avatarJens Axboe <axboe@kernel.dk>
parent 6898e3bd
...@@ -515,7 +515,6 @@ static bool elv_attempt_insert_merge(struct request_queue *q, ...@@ -515,7 +515,6 @@ static bool elv_attempt_insert_merge(struct request_queue *q,
struct request *rq) struct request *rq)
{ {
struct request *__rq; struct request *__rq;
bool ret;
if (blk_queue_nomerges(q)) if (blk_queue_nomerges(q))
return false; return false;
...@@ -529,21 +528,14 @@ static bool elv_attempt_insert_merge(struct request_queue *q, ...@@ -529,21 +528,14 @@ static bool elv_attempt_insert_merge(struct request_queue *q,
if (blk_queue_noxmerges(q)) if (blk_queue_noxmerges(q))
return false; return false;
ret = false;
/* /*
* See if our hash lookup can find a potential backmerge. * See if our hash lookup can find a potential backmerge.
*/ */
while (1) {
__rq = elv_rqhash_find(q, blk_rq_pos(rq)); __rq = elv_rqhash_find(q, blk_rq_pos(rq));
if (!__rq || !blk_attempt_req_merge(q, __rq, rq)) if (__rq && blk_attempt_req_merge(q, __rq, rq))
break; return true;
/* The merged request could be merged with others, try again */
ret = true;
rq = __rq;
}
return ret; return false;
} }
void elv_merged_request(struct request_queue *q, struct request *rq, int type) void elv_merged_request(struct request_queue *q, struct request *rq, int type)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment