diff options
author | Jens Axboe | 2014-05-28 01:46:48 +0200 |
---|---|---|
committer | Jens Axboe | 2014-05-28 01:46:48 +0200 |
commit | 95f096849932fe5eaa7bfec887530cf556744a76 (patch) | |
tree | 66f66e18fb1ae13d9e822cc14e4c3da6a59d0681 /block/blk-settings.c | |
parent | blk-mq: pass in suggested NUMA node to ->alloc_hctx() (diff) | |
download | kernel-qcow2-linux-95f096849932fe5eaa7bfec887530cf556744a76.tar.gz kernel-qcow2-linux-95f096849932fe5eaa7bfec887530cf556744a76.tar.xz kernel-qcow2-linux-95f096849932fe5eaa7bfec887530cf556744a76.zip |
blk-mq: allow non-softirq completions
Right now we export two ways of completing a request:
1) blk_mq_complete_request(). This uses an IPI (if needed) and
completes through q->softirq_done_fn(). It also works with
timeouts.
2) blk_mq_end_io(). This completes inline, and ignores any timeout
state of the request.
Let blk_mq_complete_request() handle non-softirq_done_fn completions
as well, by just completing inline. If a driver has enough completion
ports to place completions correctly, it need not define a
mq_ops->complete() and we can avoid an indirect function call by
doing the completion inline.
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'block/blk-settings.c')
0 files changed, 0 insertions, 0 deletions