Messages in this thread | | | Date | Sun, 7 Jul 2013 15:47:12 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: [PATCH V2] smp: Give WARN()ing when calling smp_call_function_many()/single() in serving irq |
| |
On Sun, 7 Jul 2013, Wang YanQing wrote: > On Fri, Jul 05, 2013 at 04:37:14PM +0200, Thomas Gleixner wrote: > > Hmm, even there it matters, because of the following scenario: > > > > CPU 0 > > smp_call_function_single(CPU 1) > > csd_lock(CPU 1) > > No, smpl_call_function_single(CPU 1) > will csd_lock(CPU 0), not csd_lock(CPU 1) > > > irq_enter() > > irq_exit() > > __do_softirq() > > smp_call_function_many() > > setup csd (CPU 1) > > csd_lock(CPU 1) ==> CPU 0 deadlocked itself. > > > > maybe below is the scenario: > irq_enter() > irq_exit() > __do_softirq() > smp_call_function_single() > setup csd (CPU 1) > csd_lock(CPU 0) ==> CPU 0 deadlocked itself.
Right, I fatfingered that :)
| |