blk-mq: fix and simplify tag iteration for the timeout handler
authorChristoph Hellwig <hch@lst.de>
Sat, 13 Sep 2014 23:40:11 +0000 (16:40 -0700)
committerJens Axboe <axboe@fb.com>
Mon, 22 Sep 2014 18:00:07 +0000 (12:00 -0600)
commit81481eb423c295c5480a3fab9bb961cf286c91e7
tree3d4f0eaed9f784ba5beb41aa9fec3e76b867c1e8
parentc8a446ad695ada43a885ec12b38411dbd190a11b
blk-mq: fix and simplify tag iteration for the timeout handler

Don't do a kmalloc from timer to handle timeouts, chances are we could be
under heavy load or similar and thus just miss out on the timeouts.
Fortunately it is very easy to just iterate over all in use tags, and doing
this properly actually cleans up the blk_mq_busy_iter API as well, and
prepares us for the next patch by passing a reserved argument to the
iterator.

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