summaryrefslogtreecommitdiffstats
path: root/kernel/kexec.c
diff options
context:
space:
mode:
authorValentin Schneider <valentin.schneider@arm.com>2021-04-08 00:06:27 +0200
committerPeter Zijlstra <peterz@infradead.org>2021-04-09 18:02:20 +0200
commit23fb06d9602b0fcfa1a16357a5d7a7f7076a39e2 (patch)
tree0bc37392e963efb879485f353270c94c6d634d35 /kernel/kexec.c
parentsched/fair: Ignore percpu threads for imbalance pulls (diff)
downloadlinux-23fb06d9602b0fcfa1a16357a5d7a7f7076a39e2.tar.xz
linux-23fb06d9602b0fcfa1a16357a5d7a7f7076a39e2.zip
sched/fair: Clean up active balance nr_balance_failed trickery
When triggering an active load balance, sd->nr_balance_failed is set to such a value that any further can_migrate_task() using said sd will ignore the output of task_hot(). This behaviour makes sense, as active load balance intentionally preempts a rq's running task to migrate it right away, but this asynchronous write is a bit shoddy, as the stopper thread might run active_load_balance_cpu_stop before the sd->nr_balance_failed write either becomes visible to the stopper's CPU or even happens on the CPU that appended the stopper work. Add a struct lb_env flag to denote active balancing, and use it in can_migrate_task(). Remove the sd->nr_balance_failed write that served the same purpose. Cleanup the LBF_DST_PINNED active balance special case. Signed-off-by: Valentin Schneider <valentin.schneider@arm.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com> Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org> Link: https://lkml.kernel.org/r/20210407220628.3798191-3-valentin.schneider@arm.com
Diffstat (limited to 'kernel/kexec.c')
0 files changed, 0 insertions, 0 deletions