mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-17 02:15:57 +00:00
blk-mq: use BLK_MQ_NO_TAG in more places
Replace various magic -1 constants for tags with BLK_MQ_NO_TAG. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Hannes Reinecke <hare@suse.de> Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Reviewed-by: Daniel Wagner <dwagner@suse.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
419c3d5e80
commit
766473681c
@ -92,7 +92,7 @@ static int __blk_mq_get_tag(struct blk_mq_alloc_data *data,
|
|||||||
{
|
{
|
||||||
if (!(data->flags & BLK_MQ_REQ_INTERNAL) &&
|
if (!(data->flags & BLK_MQ_REQ_INTERNAL) &&
|
||||||
!hctx_may_queue(data->hctx, bt))
|
!hctx_may_queue(data->hctx, bt))
|
||||||
return -1;
|
return BLK_MQ_NO_TAG;
|
||||||
if (data->shallow_depth)
|
if (data->shallow_depth)
|
||||||
return __sbitmap_queue_get_shallow(bt, data->shallow_depth);
|
return __sbitmap_queue_get_shallow(bt, data->shallow_depth);
|
||||||
else
|
else
|
||||||
@ -121,7 +121,7 @@ unsigned int blk_mq_get_tag(struct blk_mq_alloc_data *data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
tag = __blk_mq_get_tag(data, bt);
|
tag = __blk_mq_get_tag(data, bt);
|
||||||
if (tag != -1)
|
if (tag != BLK_MQ_NO_TAG)
|
||||||
goto found_tag;
|
goto found_tag;
|
||||||
|
|
||||||
if (data->flags & BLK_MQ_REQ_NOWAIT)
|
if (data->flags & BLK_MQ_REQ_NOWAIT)
|
||||||
@ -143,13 +143,13 @@ unsigned int blk_mq_get_tag(struct blk_mq_alloc_data *data)
|
|||||||
* as running the queue may also have found completions.
|
* as running the queue may also have found completions.
|
||||||
*/
|
*/
|
||||||
tag = __blk_mq_get_tag(data, bt);
|
tag = __blk_mq_get_tag(data, bt);
|
||||||
if (tag != -1)
|
if (tag != BLK_MQ_NO_TAG)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
sbitmap_prepare_to_wait(bt, ws, &wait, TASK_UNINTERRUPTIBLE);
|
sbitmap_prepare_to_wait(bt, ws, &wait, TASK_UNINTERRUPTIBLE);
|
||||||
|
|
||||||
tag = __blk_mq_get_tag(data, bt);
|
tag = __blk_mq_get_tag(data, bt);
|
||||||
if (tag != -1)
|
if (tag != BLK_MQ_NO_TAG)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
bt_prev = bt;
|
bt_prev = bt;
|
||||||
|
@ -278,7 +278,7 @@ static struct request *blk_mq_rq_ctx_init(struct blk_mq_alloc_data *data,
|
|||||||
req_flags_t rq_flags = 0;
|
req_flags_t rq_flags = 0;
|
||||||
|
|
||||||
if (data->flags & BLK_MQ_REQ_INTERNAL) {
|
if (data->flags & BLK_MQ_REQ_INTERNAL) {
|
||||||
rq->tag = -1;
|
rq->tag = BLK_MQ_NO_TAG;
|
||||||
rq->internal_tag = tag;
|
rq->internal_tag = tag;
|
||||||
} else {
|
} else {
|
||||||
if (data->hctx->flags & BLK_MQ_F_TAG_SHARED) {
|
if (data->hctx->flags & BLK_MQ_F_TAG_SHARED) {
|
||||||
@ -286,7 +286,7 @@ static struct request *blk_mq_rq_ctx_init(struct blk_mq_alloc_data *data,
|
|||||||
atomic_inc(&data->hctx->nr_active);
|
atomic_inc(&data->hctx->nr_active);
|
||||||
}
|
}
|
||||||
rq->tag = tag;
|
rq->tag = tag;
|
||||||
rq->internal_tag = -1;
|
rq->internal_tag = BLK_MQ_NO_TAG;
|
||||||
data->hctx->tags->rqs[rq->tag] = rq;
|
data->hctx->tags->rqs[rq->tag] = rq;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -483,9 +483,9 @@ static void __blk_mq_free_request(struct request *rq)
|
|||||||
blk_crypto_free_request(rq);
|
blk_crypto_free_request(rq);
|
||||||
blk_pm_mark_last_busy(rq);
|
blk_pm_mark_last_busy(rq);
|
||||||
rq->mq_hctx = NULL;
|
rq->mq_hctx = NULL;
|
||||||
if (rq->tag != -1)
|
if (rq->tag != BLK_MQ_NO_TAG)
|
||||||
blk_mq_put_tag(hctx->tags, ctx, rq->tag);
|
blk_mq_put_tag(hctx->tags, ctx, rq->tag);
|
||||||
if (sched_tag != -1)
|
if (sched_tag != BLK_MQ_NO_TAG)
|
||||||
blk_mq_put_tag(hctx->sched_tags, ctx, sched_tag);
|
blk_mq_put_tag(hctx->sched_tags, ctx, sched_tag);
|
||||||
blk_mq_sched_restart(hctx);
|
blk_mq_sched_restart(hctx);
|
||||||
blk_queue_exit(q);
|
blk_queue_exit(q);
|
||||||
@ -534,7 +534,7 @@ inline void __blk_mq_end_request(struct request *rq, blk_status_t error)
|
|||||||
blk_stat_add(rq, now);
|
blk_stat_add(rq, now);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rq->internal_tag != -1)
|
if (rq->internal_tag != BLK_MQ_NO_TAG)
|
||||||
blk_mq_sched_completed_request(rq, now);
|
blk_mq_sched_completed_request(rq, now);
|
||||||
|
|
||||||
blk_account_io_done(rq, now);
|
blk_account_io_done(rq, now);
|
||||||
@ -1044,7 +1044,7 @@ bool blk_mq_get_driver_tag(struct request *rq)
|
|||||||
};
|
};
|
||||||
bool shared;
|
bool shared;
|
||||||
|
|
||||||
if (rq->tag != -1)
|
if (rq->tag != BLK_MQ_NO_TAG)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
if (blk_mq_tag_is_reserved(data.hctx->sched_tags, rq->internal_tag))
|
if (blk_mq_tag_is_reserved(data.hctx->sched_tags, rq->internal_tag))
|
||||||
@ -1060,7 +1060,7 @@ bool blk_mq_get_driver_tag(struct request *rq)
|
|||||||
data.hctx->tags->rqs[rq->tag] = rq;
|
data.hctx->tags->rqs[rq->tag] = rq;
|
||||||
}
|
}
|
||||||
|
|
||||||
return rq->tag != -1;
|
return rq->tag != BLK_MQ_NO_TAG;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int blk_mq_dispatch_wake(wait_queue_entry_t *wait, unsigned mode,
|
static int blk_mq_dispatch_wake(wait_queue_entry_t *wait, unsigned mode,
|
||||||
|
@ -201,7 +201,7 @@ static inline void __blk_mq_put_driver_tag(struct blk_mq_hw_ctx *hctx,
|
|||||||
struct request *rq)
|
struct request *rq)
|
||||||
{
|
{
|
||||||
blk_mq_put_tag(hctx->tags, rq->mq_ctx, rq->tag);
|
blk_mq_put_tag(hctx->tags, rq->mq_ctx, rq->tag);
|
||||||
rq->tag = -1;
|
rq->tag = BLK_MQ_NO_TAG;
|
||||||
|
|
||||||
if (rq->rq_flags & RQF_MQ_INFLIGHT) {
|
if (rq->rq_flags & RQF_MQ_INFLIGHT) {
|
||||||
rq->rq_flags &= ~RQF_MQ_INFLIGHT;
|
rq->rq_flags &= ~RQF_MQ_INFLIGHT;
|
||||||
@ -211,7 +211,7 @@ static inline void __blk_mq_put_driver_tag(struct blk_mq_hw_ctx *hctx,
|
|||||||
|
|
||||||
static inline void blk_mq_put_driver_tag(struct request *rq)
|
static inline void blk_mq_put_driver_tag(struct request *rq)
|
||||||
{
|
{
|
||||||
if (rq->tag == -1 || rq->internal_tag == -1)
|
if (rq->tag == BLK_MQ_NO_TAG || rq->internal_tag == BLK_MQ_NO_TAG)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
__blk_mq_put_driver_tag(rq->mq_hctx, rq);
|
__blk_mq_put_driver_tag(rq->mq_hctx, rq);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user