blk-mq: add tag allocation policy
authorShaohua Li <shli@fb.com>
Fri, 23 Jan 2015 21:18:00 +0000 (14:18 -0700)
committerJens Axboe <axboe@fb.com>
Fri, 23 Jan 2015 21:18:00 +0000 (14:18 -0700)
commit24391c0dc57c3756a219defaa781e68637d6ab7d
tree4d0e5b213c017e622d69d916c9e13e7f6e805368
parentee1b6f7aff94019c09e73837054979063f722046
blk-mq: add tag allocation policy

This is the blk-mq part to support tag allocation policy. The default
allocation policy isn't changed (though it's not a strict FIFO). The new
policy is round-robin for libata. But it's a try-best implementation. If
multiple tasks are competing, the tags returned will be mixed (which is
unavoidable even with !mq, as requests from different tasks can be
mixed in queue)

Cc: Jens Axboe <axboe@fb.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-mq-tag.c
block/blk-mq-tag.h
block/blk-mq.c
drivers/scsi/scsi_lib.c
include/linux/blk-mq.h