Messages in this thread | | | Date | Thu, 16 May 2013 14:23:38 -0400 | From | Sasha Levin <> | Subject | Re: WARNING: at kernel/smp.c:385 smp_call_function_many |
| |
On 04/18/2013 08:29 PM, Sasha Levin wrote: > Hi Liu, > > On 04/18/2013 08:10 PM, Liu, Chuansheng wrote: >>> It seems that with commit "smp: Give WARN()ing when calling >>>> smp_call_function_many()/single() in serving irq" I'm getting a bunch of these: >> This patch gives the warning even when the smp_call_function_many() is called in softirq context, >> because it will bring the possible deadlock cases, the example is below: >> CPUA CPUB >> spin_lock(&spinlock) >> Any irq coming, call the irq handler >> irq_exit() >> spin_lock_irq(&spinlock) >> <== Blocking here due to >> CPUB hold it >> __do_softirq() >> run_timer_softirq() >> timer_cb() >> call smp_call_function_many() >> send IPI interrupt to CPUA >> wait_csd() >> >> Then both CPUA and CPUB will be deadlocked here. > > Right. > > So commit f55a6faa3 ("hrtimer: Provide clock_was_set_delayed()") followed by one > of the commits that used clock_was_set_delayed() may trigger the deadlock you've > described. (cc John Stultz...)
Ping?
Thanks, Sasha
| |