Messages in this thread | | | Date | Fri, 5 Jul 2013 14:46:01 +0100 | From | David Vrabel <> | 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
| |