android_kernel_motorola_sm6375/kernel/sched
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Phil Auld b510018602 sched/fair: Fix enqueue_task_fair() warning some more
[ Upstream commit b34cb07dde7c2346dec73d053ce926aeaa087303 ]

sched/fair: Fix enqueue_task_fair warning some more

The recent patch, fe61468b2cb (sched/fair: Fix enqueue_task_fair warning)
did not fully resolve the issues with the rq->tmp_alone_branch !=
&rq->leaf_cfs_rq_list warning in enqueue_task_fair. There is a case where
the first for_each_sched_entity loop exits due to on_rq, having incompletely
updated the list.  In this case the second for_each_sched_entity loop can
further modify se. The later code to fix up the list management fails to do
what is needed because se does not point to the sched_entity which broke out
of the first loop. The list is not fixed up because the throttled parent was
already added back to the list by a task enqueue in a parallel child hierarchy.

Address this by calling list_add_leaf_cfs_rq if there are throttled parents
while doing the second for_each_sched_entity loop.

Fixes: fe61468b2cb ("sched/fair: Fix enqueue_task_fair warning")
Suggested-by: Vincent Guittot <vincent.guittot@linaro.org>
Signed-off-by: Phil Auld <pauld@redhat.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/20200512135222.GC2201@lorien.usersys.redhat.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-05-27 17:46:52 +02:00
..
autogroup.c
autogroup.h
clock.c
completion.c
core.c sched/core: Fix reset-on-fork from RT with uclamp 2020-05-02 08:48:52 +02:00
cpuacct.c
cpudeadline.c
cpudeadline.h
cpufreq.c
cpufreq_schedutil.c
cpupri.c
cpupri.h
cputime.c
deadline.c sched/core: Further clarify sched_class::set_next_task() 2020-01-26 10:01:03 +01:00
debug.c
fair.c sched/fair: Fix enqueue_task_fair() warning some more 2020-05-27 17:46:52 +02:00
features.h
idle.c sched/core: Further clarify sched_class::set_next_task() 2020-01-26 10:01:03 +01:00
isolation.c
loadavg.c timers/nohz: Update NOHZ load in remote tick 2020-03-05 16:43:36 +01:00
Makefile
membarrier.c
pelt.c
pelt.h
psi.c sched/psi: Fix OOB write when writing 0 bytes to PSI files 2020-02-28 17:22:21 +01:00
rt.c sched/core: Further clarify sched_class::set_next_task() 2020-01-26 10:01:03 +01:00
sched-pelt.h
sched.h sched: Avoid scale real weight down to zero 2020-04-17 10:50:02 +02:00
stats.c
stats.h
stop_task.c sched/core: Further clarify sched_class::set_next_task() 2020-01-26 10:01:03 +01:00
swait.c
topology.c sched/topology: Assert non-NUMA topology masks don't (partially) overlap 2020-02-24 08:36:52 +01:00
wait.c
wait_bit.c