Hello Chris,
After appling below patch, I met software deadlock while hmp_idle_pull.
commit 940407d585a1a632086159d19e71bc190a1d07f9 Author: Chris Redpath <chris.redpath@arm.com mailto:chris.redpath@arm.com> Date: Fri May 9 14:36:53 2014 +0100
hmp: Use idle pull to perform forced up-migrations
The problem is occurred when current task is ksoftirqd and hmp_idle_pull decide to pull a task.
Call stack is as below.
current: ksoftirqd/4
kthread+0xc0 smp_boot_thread_fn+0x118 schedule+0x40 need_resched+0x768 idle_balance+0x180 hmp_idle_pull+0x348 hrtimer_start+0x30 __hrtimer_start_range_ns+0x3a4 raise_softirq_irqoff+0x34 wakeup_softirqd+0x38 wake_up_process+0x34 try_to_wake_up+0x68
I use lsk 14.06 based kernel.
It spins below line on try_to_wake_up. #ifdef CONFIG_SMP /* * If the owning (remote) cpu is still in the middle of schedule() with * this task as prev, wait until its done referencing the task. */ while (p->on_cpu) cpu_relax(); <----------- spinning
Are you aware of this issue? If so, do you have a patch for this?
Thanks, Munyoung.