blk-mq: rework I/O completions
authorChristoph Hellwig <hch@infradead.org>
Tue, 18 Feb 2014 17:25:38 +0000 (09:25 -0800)
committerJens Axboe <axboe@fb.com>
Mon, 30 Mar 2015 18:54:41 +0000 (12:54 -0600)
commitae4e9dcedb442b8330c4fbbd740ca5ca41bc8b16
tree81970519a757101d057b6401d1b33f98036bc612
parent9be51087f1867a830132eed71bd95f4fcd327185
blk-mq: rework I/O completions

Rework I/O completions to work more like the old code path.  blk_mq_end_io
now stays out of the business of deferring completions to others CPUs
and calling blk_mark_rq_complete.  The latter is very important to allow
completing requests that have timed out and thus are already marked completed,
the former allows using the IPI callout even for driver specific completions
instead of having to reimplement them.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-mq.c
block/blk-mq.h
block/blk-timeout.c
include/linux/blk-mq.h