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, 30 Mar 2015 18:54:54 +0000 (12:54 -0600)
commitd5e30494027b54fcde2117bb00f9707465ac1f5f
tree2c2a8339135af5763415513314d98c68f12f0db1
parent1ad3ec718bfe77708cbe1b3452d40fb2674f3dee
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