original_kernel/kernel/sched
luca abeni 1b02cd6a2d sched/deadline: Correctly handle active 0-lag timers
syzbot reported the following warning:

   [ ] WARNING: CPU: 4 PID: 17089 at kernel/sched/deadline.c:255 task_non_contending+0xae0/0x1950

line 255 of deadline.c is:

	WARN_ON(hrtimer_active(&dl_se->inactive_timer));

in task_non_contending().

Unfortunately, in some cases (for example, a deadline task
continuosly blocking and waking immediately) it can happen that
a task blocks (and task_non_contending() is called) while the
0-lag timer is still active.

In this case, the safest thing to do is to immediately decrease
the running bandwidth of the task, without trying to re-arm the 0-lag timer.

Signed-off-by: luca abeni <luca.abeni@santannapisa.it>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Juri Lelli <juri.lelli@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: chengjian (D) <cj.chengjian@huawei.com>
Link: https://lkml.kernel.org/r/20190325131530.34706-1-luca.abeni@santannapisa.it
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2019-04-16 16:54:58 +02:00
..
Makefile
autogroup.c
autogroup.h
clock.c
completion.c
core.c Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-03-24 11:42:10 -07:00
cpuacct.c
cpudeadline.c
cpudeadline.h
cpufreq.c
cpufreq_schedutil.c Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-03-24 11:42:10 -07:00
cpupri.c
cpupri.h
cputime.c
deadline.c sched/deadline: Correctly handle active 0-lag timers 2019-04-16 16:54:58 +02:00
debug.c
fair.c sched/fair: Limit sched_cfs_period_timer() loop to avoid hard lockup 2019-04-16 16:50:05 +02:00
features.h
idle.c
isolation.c sched/fair: Use non-atomic cpumask_{set,clear}_cpu() 2019-02-13 08:34:13 +01:00
loadavg.c
membarrier.c
pelt.c
pelt.h
psi.c psi: avoid divide-by-zero crash inside virtual machines 2019-02-21 09:01:00 -08:00
rt.c
sched-pelt.h
sched.h Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-03-06 08:14:05 -08:00
stats.c
stats.h
stop_task.c
swait.c
topology.c Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-03-06 08:14:05 -08:00
wait.c
wait_bit.c