2024-04-04 15:59:09

by Vincent Guittot

[permalink] [raw]
Subject: [PATCH] sched/fair: Fix update of rd->sg_overutilized

sg_overloaded is used instead of sg_overutilized to update
rd->sg_overutilized.

Fixes: 4475cd8bfd9b ("sched/balancing: Simplify the sg_status bitmask and use separate ->overloaded and ->overutilized flags")
Signed-off-by: Vincent Guittot <[email protected]>
---
kernel/sched/fair.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 1dd37168da50..bb1ae4ed0d91 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -10661,7 +10661,7 @@ static inline void update_sd_lb_stats(struct lb_env *env, struct sd_lb_stats *sd
set_rd_overloaded(env->dst_rq->rd, sg_overloaded);

/* Update over-utilization (tipping point, U >= 0) indicator */
- set_rd_overutilized(env->dst_rq->rd, sg_overloaded);
+ set_rd_overutilized(env->dst_rq->rd, sg_overutilized);
} else if (sg_overutilized) {
set_rd_overutilized(env->dst_rq->rd, sg_overutilized);
}
--
2.34.1



2024-04-04 17:01:49

by Shrikanth Hegde

[permalink] [raw]
Subject: Re: [PATCH] sched/fair: Fix update of rd->sg_overutilized



On 4/4/24 9:27 PM, Vincent Guittot wrote:
> sg_overloaded is used instead of sg_overutilized to update
> rd->sg_overutilized.

Yes. Good find. I missed to notice this as well.

>
> Fixes: 4475cd8bfd9b ("sched/balancing: Simplify the sg_status bitmask and use separate ->overloaded and ->overutilized flags")
> Signed-off-by: Vincent Guittot <[email protected]>
> ---
> kernel/sched/fair.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index 1dd37168da50..bb1ae4ed0d91 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -10661,7 +10661,7 @@ static inline void update_sd_lb_stats(struct lb_env *env, struct sd_lb_stats *sd
> set_rd_overloaded(env->dst_rq->rd, sg_overloaded);
>
> /* Update over-utilization (tipping point, U >= 0) indicator */
> - set_rd_overutilized(env->dst_rq->rd, sg_overloaded);
> + set_rd_overutilized(env->dst_rq->rd, sg_overutilized);
> } else if (sg_overutilized) {
> set_rd_overutilized(env->dst_rq->rd, sg_overutilized);
> }

Reviewed-by: Shrikanth Hegde <[email protected]>

Subject: [tip: sched/core] sched/fair: Fix update of rd->sg_overutilized

The following commit has been merged into the sched/core branch of tip:

Commit-ID: cd18bec668bb6221a54f03d0b645b7aed841f825
Gitweb: https://git.kernel.org/tip/cd18bec668bb6221a54f03d0b645b7aed841f825
Author: Vincent Guittot <[email protected]>
AuthorDate: Thu, 04 Apr 2024 17:57:38 +02:00
Committer: Ingo Molnar <[email protected]>
CommitterDate: Wed, 24 Apr 2024 12:02:51 +02:00

sched/fair: Fix update of rd->sg_overutilized

sg_overloaded is used instead of sg_overutilized to update
rd->sg_overutilized.

Fixes: 4475cd8bfd9b ("sched/balancing: Simplify the sg_status bitmask and use separate ->overloaded and ->overutilized flags")
Signed-off-by: Vincent Guittot <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
---
kernel/sched/fair.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 1dd3716..bb1ae4e 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -10661,7 +10661,7 @@ static inline void update_sd_lb_stats(struct lb_env *env, struct sd_lb_stats *sd
set_rd_overloaded(env->dst_rq->rd, sg_overloaded);

/* Update over-utilization (tipping point, U >= 0) indicator */
- set_rd_overutilized(env->dst_rq->rd, sg_overloaded);
+ set_rd_overutilized(env->dst_rq->rd, sg_overutilized);
} else if (sg_overutilized) {
set_rd_overutilized(env->dst_rq->rd, sg_overutilized);
}