]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit04f3da1ead4b05df84d66b1d028e725a2f7389a4
tree3d4f0eaed9f784ba5beb41aa9fec3e76b867c1e8
parent6e90eb51950d3d2480fcb12484b09016abcbbc91
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