diff mbox series

[5/8] blk-ioprio: Remove unneeded field

Message ID 20220620161153.11741-5-jack@suse.cz (mailing list archive)
State New, archived
Headers show
Series block: Fix IO priority mess | expand

Commit Message

Jan Kara June 20, 2022, 4:11 p.m. UTC
blkcg->ioprio_set field is not really useful except for avoiding
possibly more expensive checks inside blkcg_ioprio_track(). The check
for blkcg->prio_policy being equal to POLICY_NO_CHANGE does the same
service so just remove the ioprio_set field and replace the check.

Signed-off-by: Jan Kara <jack@suse.cz>
---
 block/blk-ioprio.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

Comments

Damien Le Moal June 20, 2022, 11:58 p.m. UTC | #1
On 6/21/22 01:11, Jan Kara wrote:
> blkcg->ioprio_set field is not really useful except for avoiding
> possibly more expensive checks inside blkcg_ioprio_track(). The check
> for blkcg->prio_policy being equal to POLICY_NO_CHANGE does the same
> service so just remove the ioprio_set field and replace the check.
> 
> Signed-off-by: Jan Kara <jack@suse.cz>

Looks good to me.

Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>

> ---
>  block/blk-ioprio.c | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/block/blk-ioprio.c b/block/blk-ioprio.c
> index 79e797f5d194..3f605583598b 100644
> --- a/block/blk-ioprio.c
> +++ b/block/blk-ioprio.c
> @@ -62,7 +62,6 @@ struct ioprio_blkg {
>  struct ioprio_blkcg {
>  	struct blkcg_policy_data cpd;
>  	enum prio_policy	 prio_policy;
> -	bool			 prio_set;
>  };
>  
>  static inline struct ioprio_blkg *pd_to_ioprio(struct blkg_policy_data *pd)
> @@ -113,7 +112,6 @@ static ssize_t ioprio_set_prio_policy(struct kernfs_open_file *of, char *buf,
>  	if (ret < 0)
>  		return ret;
>  	blkcg->prio_policy = ret;
> -	blkcg->prio_set = true;
>  	return nbytes;
>  }
>  
> @@ -193,16 +191,15 @@ static void blkcg_ioprio_track(struct rq_qos *rqos, struct request *rq,
>  	struct ioprio_blkcg *blkcg = ioprio_blkcg_from_bio(bio);
>  	u16 prio;
>  
> -	if (!blkcg->prio_set)
> +	if (blkcg->prio_policy == POLICY_NO_CHANGE)
>  		return;
>  
>  	/*
>  	 * Except for IOPRIO_CLASS_NONE, higher I/O priority numbers
>  	 * correspond to a lower priority. Hence, the max_t() below selects
>  	 * the lower priority of bi_ioprio and the cgroup I/O priority class.
> -	 * If the cgroup policy has been set to POLICY_NO_CHANGE == 0, the
> -	 * bio I/O priority is not modified. If the bio I/O priority equals
> -	 * IOPRIO_CLASS_NONE, the cgroup I/O priority is assigned to the bio.
> +	 * If the bio I/O priority equals IOPRIO_CLASS_NONE, the cgroup I/O
> +	 * priority is assigned to the bio.
>  	 */
>  	prio = max_t(u16, bio->bi_ioprio,
>  			IOPRIO_PRIO_VALUE(blkcg->prio_policy, 0));
diff mbox series

Patch

diff --git a/block/blk-ioprio.c b/block/blk-ioprio.c
index 79e797f5d194..3f605583598b 100644
--- a/block/blk-ioprio.c
+++ b/block/blk-ioprio.c
@@ -62,7 +62,6 @@  struct ioprio_blkg {
 struct ioprio_blkcg {
 	struct blkcg_policy_data cpd;
 	enum prio_policy	 prio_policy;
-	bool			 prio_set;
 };
 
 static inline struct ioprio_blkg *pd_to_ioprio(struct blkg_policy_data *pd)
@@ -113,7 +112,6 @@  static ssize_t ioprio_set_prio_policy(struct kernfs_open_file *of, char *buf,
 	if (ret < 0)
 		return ret;
 	blkcg->prio_policy = ret;
-	blkcg->prio_set = true;
 	return nbytes;
 }
 
@@ -193,16 +191,15 @@  static void blkcg_ioprio_track(struct rq_qos *rqos, struct request *rq,
 	struct ioprio_blkcg *blkcg = ioprio_blkcg_from_bio(bio);
 	u16 prio;
 
-	if (!blkcg->prio_set)
+	if (blkcg->prio_policy == POLICY_NO_CHANGE)
 		return;
 
 	/*
 	 * Except for IOPRIO_CLASS_NONE, higher I/O priority numbers
 	 * correspond to a lower priority. Hence, the max_t() below selects
 	 * the lower priority of bi_ioprio and the cgroup I/O priority class.
-	 * If the cgroup policy has been set to POLICY_NO_CHANGE == 0, the
-	 * bio I/O priority is not modified. If the bio I/O priority equals
-	 * IOPRIO_CLASS_NONE, the cgroup I/O priority is assigned to the bio.
+	 * If the bio I/O priority equals IOPRIO_CLASS_NONE, the cgroup I/O
+	 * priority is assigned to the bio.
 	 */
 	prio = max_t(u16, bio->bi_ioprio,
 			IOPRIO_PRIO_VALUE(blkcg->prio_policy, 0));