[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180510101653.GB12217@hirez.programming.kicks-ass.net>
Date: Thu, 10 May 2018 12:16:53 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: ��ȣ�� <hoeun.ryu@....com>
Cc: mingo@...nel.org, aaron.lu@...el.com, adobriyan@...il.com,
frederic@...nel.org, ying.huang@...el.com,
linux-kernel@...r.kernel.org
Subject: Re: smp_call_function() friends and irq/bottom_half context
On Thu, May 10, 2018 at 01:58:29PM +0900, ��ȣ�� wrote:
> Hi, all.
>
> I'm reading kernel/smp.c code and I found comments on smp_call_function()
> and smp_call_function_[single/many]
> saying that these functions are cannot be called in interrupt disabled
> context or irq/bottom half handlers.
>
> I understand that there is a potential deadlock issue when caller CPU of
> the functions is waiting for the completion of the callback of other CPUs.
> But I was wondering if this is the case even when the caller CPU doesn't
> wait for the completion (wait == 0).
IIRC yes, because csd_lock(). You can however use
smp_call_function_single_async() with your own csd. Be very careful
though, it is very easy to construct deadlocks.
Powered by blists - more mailing lists