Re: [PATCH V2] smp: Give WARN()ing when calling smp_call_function_many()/single()in serving irq
From: Thomas Gleixner
Date: Sun Jul 07 2013 - 09:48:11 EST
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 :)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
http://vger.kernel.org/majordomo-info.html
Please read the FAQ at
http://www.tux.org/lkml/