summaryrefslogtreecommitdiffstats
path: root/include/linux/blk-mq.h
diff options
context:
space:
mode:
authorKeith Busch <kbusch@kernel.org>2023-06-12 12:03:42 -0700
committerJens Axboe <axboe@kernel.dk>2023-06-28 16:09:41 -0600
commitf6c80cffcd47a2d41943e3a41fbe9034d9f6d7b0 (patch)
tree687fe310b1cd478cd2289f20dfb9aa1fe9279c1b /include/linux/blk-mq.h
parent3a08284ff22080e742814dad1dbabb4b66349642 (diff)
downloadlinux-stable-f6c80cffcd47a2d41943e3a41fbe9034d9f6d7b0.tar.gz
linux-stable-f6c80cffcd47a2d41943e3a41fbe9034d9f6d7b0.tar.bz2
linux-stable-f6c80cffcd47a2d41943e3a41fbe9034d9f6d7b0.zip
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.h2
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);