diff options
author | Keith Busch <kbusch@kernel.org> | 2023-06-12 22:03:42 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2023-06-29 01:09:41 +0300 |
commit | f6c80cffcd47a2d41943e3a41fbe9034d9f6d7b0 (patch) | |
tree | 687fe310b1cd478cd2289f20dfb9aa1fe9279c1b /include/linux/blk-mq.h | |
parent | 3a08284ff22080e742814dad1dbabb4b66349642 (diff) | |
download | linux-f6c80cffcd47a2d41943e3a41fbe9034d9f6d7b0.tar.xz |
block: add request polling helper
Provide a direct request polling will for drivers. The interface does
not require a bio, and can skip the overhead associated with polling
those. The biggest gain from skipping the relatively expensive xarray
lookup unnecessary when you already have the request.
With this, the simple rq/qc conversion functions have only one caller
each, so open code this and remove the helpers.
Signed-off-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Kanchan Joshi <joshi.k@samsung.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20230612190343.2087040-2-kbusch@meta.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux/blk-mq.h')
-rw-r--r-- | include/linux/blk-mq.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/blk-mq.h b/include/linux/blk-mq.h index aaed687a454c..2b7fb8e87793 100644 --- a/include/linux/blk-mq.h +++ b/include/linux/blk-mq.h @@ -715,6 +715,8 @@ int blk_mq_alloc_sq_tag_set(struct blk_mq_tag_set *set, void blk_mq_free_tag_set(struct blk_mq_tag_set *set); void blk_mq_free_request(struct request *rq); +int blk_rq_poll(struct request *rq, struct io_comp_batch *iob, + unsigned int poll_flags); bool blk_mq_queue_inflight(struct request_queue *q); |