2019-10-29 17:06:53

by John Garry

[permalink] [raw]
Subject: [PATCH] blk-mq: Make blk_mq_run_hw_queue() return void

Since commit 97889f9ac24f ("blk-mq: remove synchronize_rcu() from
blk_mq_del_queue_tag_set()"), the return value of blk_mq_run_hw_queue()
is never checked, so make it return void, which very marginally simplifies
the code.

Signed-off-by: John Garry <[email protected]>

diff --git a/block/blk-mq.c b/block/blk-mq.c
index ec791156e9cc..8daa9740929a 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -1486,7 +1486,7 @@ void blk_mq_delay_run_hw_queue(struct blk_mq_hw_ctx *hctx, unsigned long msecs)
}
EXPORT_SYMBOL(blk_mq_delay_run_hw_queue);

-bool blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx, bool async)
+void blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx, bool async)
{
int srcu_idx;
bool need_run;
@@ -1504,12 +1504,8 @@ bool blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx, bool async)
blk_mq_hctx_has_pending(hctx);
hctx_unlock(hctx, srcu_idx);

- if (need_run) {
+ if (need_run)
__blk_mq_delay_run_hw_queue(hctx, async, 0);
- return true;
- }
-
- return false;
}
EXPORT_SYMBOL(blk_mq_run_hw_queue);

diff --git a/include/linux/blk-mq.h b/include/linux/blk-mq.h
index 0bf056de5cc3..c963038dfb92 100644
--- a/include/linux/blk-mq.h
+++ b/include/linux/blk-mq.h
@@ -324,7 +324,7 @@ void blk_mq_start_stopped_hw_queues(struct request_queue *q, bool async);
void blk_mq_quiesce_queue(struct request_queue *q);
void blk_mq_unquiesce_queue(struct request_queue *q);
void blk_mq_delay_run_hw_queue(struct blk_mq_hw_ctx *hctx, unsigned long msecs);
-bool blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx, bool async);
+void blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx, bool async);
void blk_mq_run_hw_queues(struct request_queue *q, bool async);
void blk_mq_tagset_busy_iter(struct blk_mq_tag_set *tagset,
busy_tag_iter_fn *fn, void *priv);
--
2.17.1


2019-10-31 10:14:05

by Bob Liu

[permalink] [raw]
Subject: Re: [PATCH] blk-mq: Make blk_mq_run_hw_queue() return void

On 10/30/19 12:59 AM, John Garry wrote:
> Since commit 97889f9ac24f ("blk-mq: remove synchronize_rcu() from
> blk_mq_del_queue_tag_set()"), the return value of blk_mq_run_hw_queue()
> is never checked, so make it return void, which very marginally simplifies
> the code.
>
> Signed-off-by: John Garry <[email protected]>
>

Reviewed-by: Bob Liu <[email protected]>

> diff --git a/block/blk-mq.c b/block/blk-mq.c
> index ec791156e9cc..8daa9740929a 100644
> --- a/block/blk-mq.c
> +++ b/block/blk-mq.c
> @@ -1486,7 +1486,7 @@ void blk_mq_delay_run_hw_queue(struct blk_mq_hw_ctx *hctx, unsigned long msecs)
> }
> EXPORT_SYMBOL(blk_mq_delay_run_hw_queue);
>
> -bool blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx, bool async)
> +void blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx, bool async)
> {
> int srcu_idx;
> bool need_run;
> @@ -1504,12 +1504,8 @@ bool blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx, bool async)
> blk_mq_hctx_has_pending(hctx);
> hctx_unlock(hctx, srcu_idx);
>
> - if (need_run) {
> + if (need_run)
> __blk_mq_delay_run_hw_queue(hctx, async, 0);
> - return true;
> - }
> -
> - return false;
> }
> EXPORT_SYMBOL(blk_mq_run_hw_queue);
>
> diff --git a/include/linux/blk-mq.h b/include/linux/blk-mq.h
> index 0bf056de5cc3..c963038dfb92 100644
> --- a/include/linux/blk-mq.h
> +++ b/include/linux/blk-mq.h
> @@ -324,7 +324,7 @@ void blk_mq_start_stopped_hw_queues(struct request_queue *q, bool async);
> void blk_mq_quiesce_queue(struct request_queue *q);
> void blk_mq_unquiesce_queue(struct request_queue *q);
> void blk_mq_delay_run_hw_queue(struct blk_mq_hw_ctx *hctx, unsigned long msecs);
> -bool blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx, bool async);
> +void blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx, bool async);
> void blk_mq_run_hw_queues(struct request_queue *q, bool async);
> void blk_mq_tagset_busy_iter(struct blk_mq_tag_set *tagset,
> busy_tag_iter_fn *fn, void *priv);
>

2019-11-01 15:58:19

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH] blk-mq: Make blk_mq_run_hw_queue() return void

On 10/29/19 10:59 AM, John Garry wrote:
> Since commit 97889f9ac24f ("blk-mq: remove synchronize_rcu() from
> blk_mq_del_queue_tag_set()"), the return value of blk_mq_run_hw_queue()
> is never checked, so make it return void, which very marginally simplifies
> the code.

Applied, thanks.

--
Jens Axboe