From: Preeti U Murthy <preeti@linux.vnet.ibm.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Wang YanQing <udknight@gmail.com>,
xiaoguangrong@cn.fujitsu.com, mingo@elte.hu,
paulmck@linux.vnet.ibm.com, linux-kernel@vger.kernel.org,
a.p.zijlstra@chello.nl, npiggin@suse.de,
deepthi@linux.vnet.ibm.com, peterz@infradead.org,
rusty@rustcorp.com.au, heiko.carstens@de.ibm.com,
rostedt@goodmis.org, miltonm@bga.com,
srivatsa.bhat@linux.vnet.ibm.com, jens.axboe@oracle.com,
tj@kernel.org, akpm@linux-foundation.org,
svaidy@linux.vnet.ibm.com, shli@kernel.org,
lig.fnst@cn.fujitsu.com, anton@samba.org
Subject: Re: [PATCH 2/3] smp/ipi:Clarify ambiguous comments around deadlock scenarios in smp_call_function variants.
Date: Sun, 07 Jul 2013 21:59:06 +0530 [thread overview]
Message-ID: <51D99752.7050804@linux.vnet.ibm.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1307062148040.32106@ionos.tec.linutronix.de>
Thanks for the pointer Thomas :)
Regards
Preeti U murthy
On 07/07/2013 01:18 AM, Thomas Gleixner wrote:
> On Sat, 6 Jul 2013, Preeti U Murthy wrote:
>
>> Hi Wang,
>>
>> On 07/06/2013 11:42 AM, Wang YanQing wrote:
>>> On Fri, Jul 05, 2013 at 09:57:11PM +0530, Preeti U Murthy wrote:
>>>> Elaborate on when deadlocks can occur when a call is made to
>>>> smp_call_function_single() and its friends. This avoids ambiguity about
>>>> when to use these calls.
>>>>
>>>> + * 2. wait = 0: This function could be called from an interrupt
>>>> + * context, and can get blocked on the csd_lock(csd) below in
>>>> + * "non wait cases".
>>>> + * This is because the percpu copy of csd of this_cpu is used
>>>> + * in non wait cases. Under such circumstances, if the previous caller
>>>> + * of this function who got preempted by this interrupt has already taken
>>>> + * the lock under non wait condition, it will result in deadlock.
>>>> + *
>>>
>>> No, it will not cause deadlock, it is not mutex lock, it is busy wait, so
>>> when the CSD_FLAG_LOCK be cleared, the code will go on running.
>>
>> A deadlock might not result, but a potential long wait in an interrupt
>> context could result if the source cpu got preempted by an interrupt
>> between csd_lock(csd) and generic_exec_single(), where it actually
>> sends an ipi to the target cpu.
>
> See https://lkml.org/lkml/2013/7/5/183 and the related thread for real
> deadlock scenarios.
>
> Thanks,
>
> tglx
>
next prev parent reply other threads:[~2013-07-07 16:31 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-05 16:26 [PATCH 0/3] smp/ipi: Minor cleanups in smp_call_function variants Preeti U Murthy
2013-07-05 16:27 ` [PATCH 1/3] smp/ipi: Remove redundant cfd->cpumask_ipi mask Preeti U Murthy
2013-07-06 3:13 ` Wang YanQing
2013-07-06 5:29 ` Preeti U Murthy
2013-07-06 6:03 ` Wang YanQing
2013-07-07 16:45 ` Preeti U Murthy
2013-07-05 16:27 ` [PATCH 2/3] smp/ipi:Clarify ambiguous comments around deadlock scenarios in smp_call_function variants Preeti U Murthy
2013-07-06 6:12 ` Wang YanQing
2013-07-06 7:48 ` Preeti U Murthy
2013-07-06 19:48 ` Thomas Gleixner
2013-07-07 16:29 ` Preeti U Murthy [this message]
2013-07-05 16:27 ` [PATCH 3/3] smp/ipi:Remove check around csd lock in handler for " Preeti U Murthy
2013-07-06 5:45 ` Wang YanQing
2013-07-06 8:06 ` Preeti U Murthy
2013-07-06 14:21 ` Wang YanQing
2013-07-07 16:23 ` Preeti U Murthy
2013-07-07 17:25 ` Wang YanQing
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51D99752.7050804@linux.vnet.ibm.com \
--to=preeti@linux.vnet.ibm.com \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=anton@samba.org \
--cc=deepthi@linux.vnet.ibm.com \
--cc=heiko.carstens@de.ibm.com \
--cc=jens.axboe@oracle.com \
--cc=lig.fnst@cn.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=miltonm@bga.com \
--cc=mingo@elte.hu \
--cc=npiggin@suse.de \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=rusty@rustcorp.com.au \
--cc=shli@kernel.org \
--cc=srivatsa.bhat@linux.vnet.ibm.com \
--cc=svaidy@linux.vnet.ibm.com \
--cc=tglx@linutronix.de \
--cc=tj@kernel.org \
--cc=udknight@gmail.com \
--cc=xiaoguangrong@cn.fujitsu.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.