blk-mq: cleanup tag free handling
We only call __blk_mq_put_tag() and __blk_mq_put_reserved_tag() from blk_mq_put_tag(), so just inline the two calls instead of having them as separate functions. Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
a33c1ba291
commit
70114c393c
|
@ -360,21 +360,6 @@ static void bt_clear_tag(struct blk_mq_bitmap_tags *bt, unsigned int tag)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __blk_mq_put_tag(struct blk_mq_tags *tags, unsigned int tag)
|
|
||||||
{
|
|
||||||
BUG_ON(tag >= tags->nr_tags);
|
|
||||||
|
|
||||||
bt_clear_tag(&tags->bitmap_tags, tag);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void __blk_mq_put_reserved_tag(struct blk_mq_tags *tags,
|
|
||||||
unsigned int tag)
|
|
||||||
{
|
|
||||||
BUG_ON(tag >= tags->nr_reserved_tags);
|
|
||||||
|
|
||||||
bt_clear_tag(&tags->breserved_tags, tag);
|
|
||||||
}
|
|
||||||
|
|
||||||
void blk_mq_put_tag(struct blk_mq_hw_ctx *hctx, unsigned int tag,
|
void blk_mq_put_tag(struct blk_mq_hw_ctx *hctx, unsigned int tag,
|
||||||
unsigned int *last_tag)
|
unsigned int *last_tag)
|
||||||
{
|
{
|
||||||
|
@ -383,10 +368,13 @@ void blk_mq_put_tag(struct blk_mq_hw_ctx *hctx, unsigned int tag,
|
||||||
if (tag >= tags->nr_reserved_tags) {
|
if (tag >= tags->nr_reserved_tags) {
|
||||||
const int real_tag = tag - tags->nr_reserved_tags;
|
const int real_tag = tag - tags->nr_reserved_tags;
|
||||||
|
|
||||||
__blk_mq_put_tag(tags, real_tag);
|
BUG_ON(real_tag >= tags->nr_tags);
|
||||||
|
bt_clear_tag(&tags->bitmap_tags, real_tag);
|
||||||
*last_tag = real_tag;
|
*last_tag = real_tag;
|
||||||
} else
|
} else {
|
||||||
__blk_mq_put_reserved_tag(tags, tag);
|
BUG_ON(tag >= tags->nr_reserved_tags);
|
||||||
|
bt_clear_tag(&tags->breserved_tags, tag);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void bt_for_each(struct blk_mq_hw_ctx *hctx,
|
static void bt_for_each(struct blk_mq_hw_ctx *hctx,
|
||||||
|
|
Loading…
Reference in New Issue