linux-stable/kernel/sched
Keisuke Nishimura 5245005d69 sched/fair: Take the scheduling domain into account in select_idle_core()
[ Upstream commit 23d04d8c6b ]

When picking a CPU on task wakeup, select_idle_core() has to take
into account the scheduling domain where the function looks for the CPU.

This is because the "isolcpus" kernel command line option can remove CPUs
from the domain to isolate them from other SMT siblings.

This change replaces the set of CPUs allowed to run the task from
p->cpus_ptr by the intersection of p->cpus_ptr and sched_domain_span(sd)
which is stored in the 'cpus' argument provided by select_idle_cpu().

Fixes: 9fe1f127b9 ("sched/fair: Merge select_idle_core/cpu()")
Signed-off-by: Keisuke Nishimura <keisuke.nishimura@inria.fr>
Signed-off-by: Julia Lawall <julia.lawall@inria.fr>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20240110131707.437301-2-keisuke.nishimura@inria.fr
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-03-26 18:16:30 -04:00
..
Makefile
autogroup.c
autogroup.h
build_policy.c
build_utility.c sched/headers: Remove duplicate header inclusions 2023-10-03 21:27:55 +02:00
clock.c
completion.c sched: add a few helpers to wake up tasks on the current cpu 2023-07-17 16:08:08 -07:00
core.c header cleanups for 6.8 2024-01-10 16:43:55 -08:00
core_sched.c
cpuacct.c
cpudeadline.c sched/topology: Consolidate and clean up access to a CPU's max compute capacity 2023-10-09 12:59:48 +02:00
cpudeadline.h
cpufreq.c
cpufreq_schedutil.c sched/fair: Fix frequency selection for non-invariant case 2024-01-16 10:41:25 +01:00
cpupri.c sched/rt: Fix live lock between select_fallback_rq() and RT push 2023-09-28 22:58:13 +02:00
cpupri.h
cputime.c
deadline.c sched/deadline: Introduce deadline servers 2023-11-15 09:57:51 +01:00
debug.c sched/fair: Simplify util_est 2023-12-23 15:59:58 +01:00
fair.c sched/fair: Take the scheduling domain into account in select_idle_core() 2024-03-26 18:16:30 -04:00
features.h sched/fair: Remove SCHED_FEAT(UTIL_EST_FASTUP, true) 2023-12-23 15:59:56 +01:00
idle.c sched/cpuidle: Comment about timers requirements VS idle handler 2023-11-15 09:57:51 +01:00
isolation.c
loadavg.c
membarrier.c sched/membarrier: reduce the ability to hammer on sys_membarrier 2024-02-20 09:38:05 -08:00
pelt.c sched: Make PELT acronym definition searchable 2023-10-13 09:56:30 +02:00
pelt.h sched/fair: Simplify util_est 2023-12-23 15:59:58 +01:00
psi.c sched/psi: Update poll => rtpoll in relevant comments 2023-10-16 13:42:49 +02:00
rt.c sched: Unify runtime accounting across classes 2023-11-15 09:57:48 +01:00
sched-pelt.h
sched.h Quite a lot of kexec work this time around. Many singleton patches in 2024-01-09 11:46:20 -08:00
smp.h
stats.c
stats.h
stop_task.c sched: Unify runtime accounting across classes 2023-11-15 09:57:48 +01:00
swait.c sched: add a few helpers to wake up tasks on the current cpu 2023-07-17 16:08:08 -07:00
topology.c sched/fair: Scan cluster before scanning LLC in wake-up path 2023-10-24 10:38:43 +02:00
wait.c sched: remove wait bookmarks 2023-10-18 14:34:18 -07:00
wait_bit.c