[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <51D6CE19.1050503@citrix.com>
Date: Fri, 5 Jul 2013 14:46:01 +0100
From: David Vrabel <david.vrabel@...rix.com>
To: Thomas Gleixner <tglx@...utronix.de>
CC: Ingo Molnar <mingo@...nel.org>, "H. Peter Anvin" <hpa@...or.com>,
LKML <linux-kernel@...r.kernel.org>, <konrad.wilk@...cle.com>,
<john.stultz@...aro.org>, <xen-devel@...ts.xen.org>,
Artem Savkov <artem.savkov@...il.com>
Subject: Re: [tip:timers/core] hrtimers: Support resuming with two or more
CPUs online (but stopped)
On 05/07/13 11:25, Thomas Gleixner wrote:
> On Fri, 5 Jul 2013, David Vrabel wrote:
>
> You failed to CC Artem :(
>
>> On 05/07/13 10:30, Artem Savkov wrote:
>>> This commit brings up a warning about a potential deadlock in
>>> smp_call_function_many() discussed previously:
>>> https://lkml.org/lkml/2013/4/18/546
>>
>> Can we just avoid the wait in clock_was_set()? Something like this?
>>
>> 8<------------------------------------------------------
>> hrtimers: do not wait for other CPUs in clock_was_set()
>>
>> Calling on_each_cpu() and waiting in a softirq causes a WARNing about
>> a potential deadlock.
>>
>> Because hrtimers are per-CPU, it is sufficient to ensure that all
>> other CPUs' timers are reprogrammed as soon as possible and before the
>> next softirq on that CPU. There is no need to wait for this to be
>> complete on all CPUs.
Unfortunately this doesn't look sufficient. on_each_cpu(..., 0) may
still wait for other calls to complete before queuing the calls due to
the use of a single set of per-CPU csd data.
David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists