]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] ll_rw_blk: prevent huge request allocations
authorJens Axboe <axboe@suse.de>
Tue, 28 Jun 2005 14:35:11 +0000 (16:35 +0200)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Tue, 28 Jun 2005 21:56:50 +0000 (14:56 -0700)
commitb673da2f5a298a4447570c887c2dca83ea3117b7
treea0817817c787a89abd0eb7e5bf6f217523060b63
parent30f799f9e23e09a14af0757549eb29585c3423f6
[PATCH] ll_rw_blk: prevent huge request allocations

Currently we cap request allocations at q->nr_requests, but we allow a
batching io context to allocate up to 32 more (default setting).  This
can flood the queue with request allocations, with only a few batching
processes.  The real fix would be to limit the number of batchers, but
as that isn't currently tracked, I suggest we just cap the maximum
number of allocated requests to eg 50% over the limit.

This was observed in real life, users typically see this as vmstat bo
numbers going off the wall with seconds of no queueing afterwards.
Behaviour this bursty is not beneficial.

Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/block/ll_rw_blk.c