Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 229a9287 authored by Omar Sandoval's avatar Omar Sandoval Committed by Jens Axboe
Browse files

blk-mq: add shallow depth option for blk_mq_get_tag()



Wire up the sbitmap_get_shallow() operation to the tag code so that a
caller can limit the number of tags available to it.

Signed-off-by: default avatarOmar Sandoval <osandov@fb.com>
Signed-off-by: default avatarJens Axboe <axboe@fb.com>
parent c05e6673
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -96,6 +96,9 @@ static int __blk_mq_get_tag(struct blk_mq_alloc_data *data,
	if (!(data->flags & BLK_MQ_REQ_INTERNAL) &&
	    !hctx_may_queue(data->hctx, bt))
		return -1;
	if (data->shallow_depth)
		return __sbitmap_queue_get_shallow(bt, data->shallow_depth);
	else
		return __sbitmap_queue_get(bt);
}

+1 −0
Original line number Diff line number Diff line
@@ -141,6 +141,7 @@ struct blk_mq_alloc_data {
	/* input parameter */
	struct request_queue *q;
	unsigned int flags;
	unsigned int shallow_depth;

	/* input & output parameter */
	struct blk_mq_ctx *ctx;