]> git.proxmox.com Git - mirror_ubuntu-impish-kernel.git/commit
sched/numa: Find an alternative idle CPU if the CPU is part of an active NUMA balance
authorMel Gorman <mgorman@techsingularity.net>
Mon, 24 Feb 2020 09:52:21 +0000 (09:52 +0000)
committerIngo Molnar <mingo@kernel.org>
Mon, 24 Feb 2020 10:36:39 +0000 (11:36 +0100)
commit5fb52dd93a2fe9a738f730de9da108bd1f6c30d0
treee2834aabfbc0dc1d5487e3e3af318c2efbc80db6
parentff7db0bf24db919f69121bf5df8f3cb6d79f49af
sched/numa: Find an alternative idle CPU if the CPU is part of an active NUMA balance

Multiple tasks can attempt to select and idle CPU but fail because
numa_migrate_on is already set and the migration fails. Instead of failing,
scan for an alternative idle CPU. select_idle_sibling is not used because
it requires IRQs to be disabled and it ignores numa_migrate_on allowing
multiple tasks to stack. This scan may still fail if there are idle
candidate CPUs due to races but if this occurs, it's best that a task
stay on an available CPU that move to a contended one.

Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Vincent Guittot <vincent.guittot@linaro.org>
Cc: Juri Lelli <juri.lelli@redhat.com>
Cc: Dietmar Eggemann <dietmar.eggemann@arm.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Valentin Schneider <valentin.schneider@arm.com>
Cc: Phil Auld <pauld@redhat.com>
Cc: Hillf Danton <hdanton@sina.com>
Link: https://lore.kernel.org/r/20200224095223.13361-12-mgorman@techsingularity.net
kernel/sched/fair.c