]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] Fix cfq_find_next_crq()
authorJens Axboe <axboe@suse.de>
Mon, 27 Jun 2005 08:55:49 +0000 (10:55 +0200)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Mon, 27 Jun 2005 21:33:29 +0000 (14:33 -0700)
commit3a3e70aba8c394c4dbf6e2c819d418d8d8571491
treeb80225d86859487b6a8eb62126d9de31c7cbf26e
parentd426d5cc331a5897f06f7cdae2234b96dfdaa612
[PATCH] Fix cfq_find_next_crq()

In cfq_find_next_crq(), cfq tries to find the next request by choosing
one of two requests before and after the current one.  Currently, when
choosing the next request, if there's no next request, the next
candidate is NULL, resulting in selection of the previous request.  This
results in weird scheduling.  Once we reach the end, we always seek
backward.

The correct behavior is using the first request as the next candidate.
cfq_choose_req() already has logics for handling wrapped requests.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/block/cfq-iosched.c