[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.02.1307051551260.32106@ionos.tec.linutronix.de>
Date: Fri, 5 Jul 2013 15:51:57 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: David Vrabel <david.vrabel@...rix.com>
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 Fri, 5 Jul 2013, David Vrabel wrote:
> 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.
Hrmpf. I'll fix it in the non elegant way :(
Thanks,
tglx
--
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