]> git.baikalelectronics.ru Git - kernel.git/commit
block: allocate io_context upfront
authorTejun Heo <tj@kernel.org>
Tue, 5 Jun 2012 03:40:56 +0000 (20:40 -0700)
committerJens Axboe <axboe@kernel.dk>
Mon, 25 Jun 2012 09:53:50 +0000 (11:53 +0200)
commit20197c21b0e93b348b8e8dfddf990dd73747def0
tree9e26e52852cd6b364d413b02b9c5379c5372be7e
parent167a57e7cc1a1078b3fea524e0de7df8eb07008c
block: allocate io_context upfront

Block layer very lazy allocation of ioc.  It waits until the moment
ioc is absolutely necessary; unfortunately, that time could be inside
queue lock and __get_request() performs unlock - try alloc - retry
dancing.

Just allocate it up-front on entry to block layer.  We're not saving
the rain forest by deferring it to the last possible moment and
complicating things unnecessarily.

This patch is to prepare for further updates to request allocation
path.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-core.c
block/blk-throttle.c