Patch "sched/fair: remove util_est boosting" has been added to the 6.5-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    sched/fair: remove util_est boosting

to the 6.5-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     sched-fair-remove-util_est-boosting.patch
and it can be found in the queue-6.5 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 8321f873118546d471373231a277665924afedeb
Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Date:   Thu Jul 6 15:51:44 2023 +0200

    sched/fair: remove util_est boosting
    
    [ Upstream commit c2e164ac33f75e0acb93004960c73bd9166d3d35 ]
    
    There is no need to use runnable_avg when estimating util_est and that
    even generates wrong behavior because one includes blocked tasks whereas
    the other one doesn't. This can lead to accounting twice the waking task p,
    once with the blocked runnable_avg and another one when adding its
    util_est.
    
    cpu's runnable_avg is already used when computing util_avg which is then
    compared with util_est.
    
    In some situation, feec will not select prev_cpu but another one on the
    same performance domain because of higher max_util
    
    Fixes: 7d0583cf9ec7 ("sched/fair, cpufreq: Introduce 'runnable boosting'")
    Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
    Reviewed-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
    Tested-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
    Link: https://lore.kernel.org/r/20230706135144.324311-1-vincent.guittot@xxxxxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index b3e25be58e2b7..1d9c2482c5a35 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -7289,9 +7289,6 @@ cpu_util(int cpu, struct task_struct *p, int dst_cpu, int boost)
 
 		util_est = READ_ONCE(cfs_rq->avg.util_est.enqueued);
 
-		if (boost)
-			util_est = max(util_est, runnable);
-
 		/*
 		 * During wake-up @p isn't enqueued yet and doesn't contribute
 		 * to any cpu_rq(cpu)->cfs.avg.util_est.enqueued.



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux