Pavankumar Kondeti
56ea74ecec
sched: Disable interrupts while holding related_thread_group_lock
There is a potential deadlock condition if interrupts are enabled
while holding the related_thread_group_lock. Prevent this.
---------------- --------------------
CPU 0 CPU 1
--------------- --------------------
check_for_migration() cgroup_file_write(p)
check_for_freq_change() cgroup_attach_task(p)
send_notification() schedtune_attach(p)
read_lock(&related_thread_group_lock) sched_set_group_id(p)
raw_spin_lock_irqsave(
&p->pi_lock, flags)
write_lock_irqsave(
&related_thread_group_lock)
waiting on CPU#0
raw_spin_lock_irqsave(&rq->lock, flags)
raw_spin_unlock_irqrestore(&rq->lock, flags)
--> interrupt()
----> ttwu(p)
-------> waiting for p's pi_lock on CPU#1
Change-Id: I6f0f8f742d6e1b3ff735dcbeabd54ef101329cdf
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
|
2017-02-07 14:51:23 -08:00 |
| .. |
|
auto_group.c
|
sched/autogroup: Fix 64-bit kernel nice level adjustment
|
2016-11-24 05:45:02 +01:00 |
|
auto_group.h
|
sched, timer: Convert usages of ACCESS_ONCE() in the scheduler to READ_ONCE()/WRITE_ONCE()
|
2015-05-08 12:11:32 +02:00 |
|
boost.c
|
sched/hmp: Enhance co-location and scheduler boost features
|
2017-02-07 14:51:21 -08:00 |
|
clock.c
|
sched/clock: Make local_clock()/cpu_clock() inline
|
2016-04-13 12:25:22 +02:00 |
|
completion.c
|
sched/completion: Serialize completion_done() with complete()
|
2015-02-18 14:27:40 +01:00 |
|
core.c
|
sched: Ensure proper synch between isolation, hotplug, and suspend
|
2017-02-07 14:51:22 -08:00 |
|
core_ctl.c
|
sched: Ensure proper synch between isolation, hotplug, and suspend
|
2017-02-07 14:51:22 -08:00 |
|
cpuacct.c
|
sched/cpuacct: Introduce cpuacct.usage_all to show all CPU stats together
|
2016-07-09 13:56:15 +02:00 |
|
cpuacct.h
|
sched/cpuacct: Simplify the cpuacct code
|
2016-03-21 11:00:28 +01:00 |
|
cpudeadline.c
|
sched/deadline: Split cpudl_set() into cpudl_set() and cpudl_clear()
|
2016-09-05 13:29:43 +02:00 |
|
cpudeadline.h
|
sched/deadline: Split cpudl_set() into cpudl_set() and cpudl_clear()
|
2016-09-05 13:29:43 +02:00 |
|
cpufreq.c
|
cpufreq / sched: Pass flags to cpufreq_update_util()
|
2016-08-16 22:14:55 +02:00 |
|
cpufreq_schedutil.c
|
cpufreq: schedutil: Add iowait boosting
|
2016-09-13 23:36:01 +02:00 |
|
cpupri.c
|
sched/core: Use tsk_cpus_allowed() instead of accessing ->cpus_allowed
|
2016-05-12 09:55:35 +02:00 |
|
cpupri.h
|
sched/cpupri: Remove unnecessary definitions in cpupri.h
|
2014-11-16 10:58:59 +01:00 |
|
cputime.c
|
sched: Introduce HMP scheduling
|
2016-11-18 16:41:31 -08:00 |
|
deadline.c
|
sched: Introduce HMP scheduling
|
2016-11-18 16:41:31 -08:00 |
|
debug.c
|
sched: Add the mechanics of top task tracking for frequency guidance
|
2017-02-07 14:50:53 -08:00 |
|
fair.c
|
sched/hmp: Enhance co-location and scheduler boost features
|
2017-02-07 14:51:21 -08:00 |
|
features.h
|
sched: Introduce HMP scheduling
|
2016-11-18 16:41:31 -08:00 |
|
hmp.c
|
sched: Disable interrupts while holding related_thread_group_lock
|
2017-02-07 14:51:23 -08:00 |
|
idle.c
|
nmi_backtrace: generate one-line reports for idle cpus
|
2016-10-07 18:46:30 -07:00 |
|
idle_task.c
|
sched: Introduce HMP scheduling
|
2016-11-18 16:41:31 -08:00 |
|
loadavg.c
|
sched/core: Correct off by one bug in load migration calculation
|
2016-07-13 14:58:20 +02:00 |
|
Makefile
|
sched/hmp: Enhance co-location and scheduler boost features
|
2017-02-07 14:51:21 -08:00 |
|
rt.c
|
sched/hmp: Enhance co-location and scheduler boost features
|
2017-02-07 14:51:21 -08:00 |
|
sched.h
|
sched/hmp: Enhance co-location and scheduler boost features
|
2017-02-07 14:51:21 -08:00 |
|
sched_avg.c
|
sched: Fix integer overflow in sched_update_nr_prod()
|
2017-02-07 14:50:43 -08:00 |
|
stats.c
|
sched: use %*pb[l] to print bitmaps including cpumasks and nodemasks
|
2015-02-13 21:21:37 -08:00 |
|
stats.h
|
sched/debug: Rename 'schedstat_val()' -> 'schedstat_val_or_zero()'
|
2016-09-05 13:29:46 +02:00 |
|
stop_task.c
|
sched: Introduce HMP scheduling
|
2016-11-18 16:41:31 -08:00 |
|
swait.c
|
wait.[ch]: Introduce the simple waitqueue (swait) implementation
|
2016-02-25 11:27:16 +01:00 |
|
tune.c
|
sched/hmp: Enhance co-location and scheduler boost features
|
2017-02-07 14:51:21 -08:00 |
|
wait.c
|
mm: remove per-zone hashtable of bitlock waitqueues
|
2016-10-27 09:27:57 -07:00 |