blk-mq: bitmap tag: select random tag betweet 0 and (depth - 1)

The selected tag should be selected at random between 0 and
(depth - 1) with probability 1/depth, instead between 0 and
(depth - 2) with probability 1/(depth - 1).

Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
Ming Lei 2014-05-10 15:43:14 -06:00 committed by Jens Axboe
parent 60f2df8a29
commit 9d3d21aeb4

View file

@ -449,10 +449,7 @@ void blk_mq_tag_init_last_tag(struct blk_mq_tags *tags, unsigned int *tag)
{
unsigned int depth = tags->nr_tags - tags->nr_reserved_tags;
if (depth > 1)
*tag = prandom_u32() % (depth - 1);
else
*tag = 0;
*tag = prandom_u32() % depth;
}
ssize_t blk_mq_tag_sysfs_show(struct blk_mq_tags *tags, char *page)