Messages in this thread Patch in this message | | | From | Jiang Biao <> | Subject | [PATCH] sched/fair: consider sched-idle CPU when selecting idle core | Date | Fri, 24 Jul 2020 07:38:53 +0800 |
| |
From: Jiang Biao <benbjiang@tencent.com>
Sched-idle CPU has been considered in select_idle_cpu and select_idle_smt, it also needs to be considered in select_idle_core to be consistent and keep the same *idle* policy.
Signed-off-by: Jiang Biao <benbjiang@tencent.com> --- kernel/sched/fair.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 04fa8dbcfa4d..f430a9820d08 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -6014,7 +6014,7 @@ void __update_idle_core(struct rq *rq) if (cpu == core) continue; - if (!available_idle_cpu(cpu)) + if (!available_idle_cpu(cpu) && !sched_idle_cpu(cpu)) goto unlock; } @@ -6045,7 +6045,7 @@ static int select_idle_core(struct task_struct *p, struct sched_domain *sd, int bool idle = true; for_each_cpu(cpu, cpu_smt_mask(core)) { - if (!available_idle_cpu(cpu)) { + if (!available_idle_cpu(cpu) && !sched_idle_cpu(cpu)) { idle = false; break; } -- 2.21.0
| |