On 07/12/2018 20:30, Valentin Schneider wrote:
[...]
> ----->8-----
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index 17ab4db..8b5172f 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -7152,7 +7152,8 @@ done: __maybe_unused;
>         rq_idle_stamp_update(rq);
>  
>         new_tasks = idle_balance(rq, rf);
> -       if (new_tasks == 0)
> +       if (new_tasks == 0 &&
> +           (!static_key_unlikely(&sched_energy_present) || 
> READ_ONCE(rq->rd->overutilized))
>                 new_tasks = try_steal(rq, rf);
>  
>         if (new_tasks)
> -----8<-----
> 

As a heads-up, that should now use sched_energy_enabled() [1], so that'd be:

-----8<-----
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index f28df187db24..2eddb40fd368 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -7134,7 +7134,8 @@ done: __maybe_unused;
        rq_idle_stamp_update(rq);
 
        new_tasks = idle_balance(rq, rf);
-       if (new_tasks == 0)
+       if (new_tasks == 0 &&
+           (!sched_energy_enabled() || READ_ONCE(rq->rd->overutilized)))
                new_tasks = try_steal(rq, rf);
 
        if (new_tasks)
----->8-----

[1]: f8a696f25ba0 ("sched/core: Give DCE a fighting chance")

[...]

Reply via email to