OSDN Git Service

blk-mq: cleanup request allocation
authorChristoph Hellwig <hch@lst.de>
Wed, 24 Nov 2021 06:28:56 +0000 (07:28 +0100)
committerJens Axboe <axboe@kernel.dk>
Mon, 29 Nov 2021 13:38:51 +0000 (06:38 -0700)
commit5b13bc8a3fd519d86e5b1a0b1d1b996cace62f3f
tree6f5bb7ba61dbfb6144aab5f3a496baa2c25adf7a
parent82d981d4230bc0a19540fc540d4bdf49a3769f05
blk-mq: cleanup request allocation

Refactor the request alloction so that blk_mq_get_cached_request tries
to find a cached request first, and the entirely separate and now
self contained blk_mq_get_new_requests allocates one or more requests
if that is not possible.

There is a small change in behavior as submit_bio_checks is called
twice now if a cached request is present but can't be used, but that
is a small price to pay for unwinding this code.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20211124062856.1444266-1-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-mq.c