linux_dsm_epyc7002/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
..
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_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
cpufreq.c sched: Replace synchronize_sched() with synchronize_rcu() 2019-01-25 15:28:22 -08:00
cpupri.c
cpupri.h
cputime.c sched: Fix various typos in comments 2018-12-03 11:55:42 +01:00
deadline.c sched/deadline: Correctly handle active 0-lag timers 2019-04-16 16:54:58 +02:00
debug.c sched/debug: Initialize sd_sysctl_cpus if !CONFIG_CPUMASK_OFFSTACK 2019-02-04 09:13:21 +01:00
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
Makefile
membarrier.c sched/membarrier: synchronize_sched() with synchronize_rcu() 2018-11-27 09:21:43 -08:00
pelt.c sched/fair: Update scale invariance of PELT 2019-02-04 09:13:21 +01:00
pelt.h sched/fair: Update scale invariance of PELT 2019-02-04 09:13:21 +01:00
psi.c psi: avoid divide-by-zero crash inside virtual machines 2019-02-21 09:01:00 -08:00
rt.c sched/fair: Update scale invariance of PELT 2019-02-04 09:13:21 +01:00
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 psi: make disabling/enabling easier for vendor kernels 2018-11-30 14:56:14 -08:00
stop_task.c
swait.c kernel/sched/: remove caller signal_pending branch predictions 2019-01-04 13:13:48 -08:00
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_bit.c
wait.c kernel/sched/: remove caller signal_pending branch predictions 2019-01-04 13:13:48 -08:00