linux/kernel/sched
Chen Liang a6afe518a8 sched/fair: fix bug: remove printk while schedule is in progress
It will cause deadlock and while(1) if call printk while schedule
is in progress. The block state like as below:

cpu0(hold the console sem):
printk->console_unlock->up_sem->spin_lock(&sem->lock)->wake_up_process(cpu1)
->try_to_wake_up(cpu1)->while(p->on_cpu).

cpu1(request console sem):
console_lock->down_sem->schedule->idle_banlance->update_cpu_capacity->
printk->console_trylock->spin_lock(&sem->lock).

p->on_cpu will be 1 forever, because the task is still running on cpu1,
so cpu0 is blocked in while(p->on_cpu), but cpu1 could not get
spin_lock(&sem->lock), it is blocked too, it means the task will running
on cpu1 forever.

Change-Id: I60d02d8c957273872f97939632bdd235accdad4e
Signed-off-by: Chen Liang <cl@rock-chips.com>
2019-02-27 20:45:07 +08:00
..
autogroup.c
autogroup.h
clock.c
completion.c
core.c This is the 4.19.11 stable release 2018-12-19 19:30:07 +01:00
cpuacct.c
cpudeadline.c
cpudeadline.h
cpufreq_schedutil.c ANDROID: sched: Align EAS with upstream 2019-01-04 09:17:54 +00:00
cpufreq.c
cpupri.c
cpupri.h
cputime.c
deadline.c
debug.c
fair.c sched/fair: fix bug: remove printk while schedule is in progress 2019-02-27 20:45:07 +08:00
features.h
idle.c
isolation.c
loadavg.c
Makefile
membarrier.c
pelt.c This is the 4.19.11 stable release 2018-12-19 19:30:07 +01:00
pelt.h sched/pelt: Fix warning and clean up IRQ PELT config 2018-12-19 19:19:49 +01:00
rt.c
sched-pelt.h
sched.h This is the 4.19.11 stable release 2018-12-19 19:30:07 +01:00
stats.c
stats.h
stop_task.c
swait.c
topology.c Revert "FROMLIST: sched: Introduce a sysctl for Energy Aware Scheduling" 2019-01-04 09:17:55 +00:00
tune.c
tune.h
wait_bit.c
wait.c