提交 581c1b14 编写于 作者: J Jens Axboe 提交者: Linus Torvalds

[PATCH] noop-iosched: avoid corrupted request merging

Tejun Heo notes:

   "I'm currently debugging this.  The problem is that we are using the
    generic dispatch queue directly in the noop sched and merging is NOT
    allowed on dispatch queues but generic handling of last_merge tries
    to merge requests.  I'm still trying to verify this, so I'll be back
    with results soon."

In the meantime, disable merging for noop by setting REQ_NOMERGE in
elevator_noop_add_request().

Eventually, we should add a noop_list and do the dispatching like in the
other io schedulers.  Merging is still beneficial for noop (and it has
always done it).
Signed-off-by: NJens Axboe <axboe@suse.de>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 4fc20741
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
static void elevator_noop_add_request(request_queue_t *q, struct request *rq) static void elevator_noop_add_request(request_queue_t *q, struct request *rq)
{ {
rq->flags |= REQ_NOMERGE;
elv_dispatch_add_tail(q, rq); elv_dispatch_add_tail(q, rq);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册