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>
1 file changed