From: Jens Axboe Date: Tue, 27 May 2014 23:46:48 +0000 (-0600) Subject: blk-mq: allow non-softirq completions X-Git-Tag: omap-for-v3.16/fixes-against-rc1~39^2~49^2~19 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=95f096849932fe5eaa7bfec887530cf556744a76;p=pandora-kernel.git 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 --- Reading git-diff-tree failed