Re: [PATCH 1/4] hrtimers: provide a hrtimers_late_resume() call

From: Thomas Gleixner
Date: Fri Jun 21 2013 - 10:32:37 EST


On Fri, 21 Jun 2013, David Vrabel wrote:
> On 21/06/13 08:53, Thomas Gleixner wrote:
> > This is the completely wrong approach. If an architecture does not
> > shut down the non boot cpus on suspend, then this wants to be handled
> > in the core code and not in some random arch specific driver.
>
> Agreed. Does the following meet your requirements?

Indeed. That's looks way more reasonable. Though...

> hrtimers_resume() cannot call on_each_cpu(retrigger_next_event,...)
> as the other CPUs will be stopped with IRQs disabled. Instead, defer
> the call to the next softirq.

that's just working by chance and not by design as there is no
guarantee that the next interrupt, which invokes the softirq, will
arrive in time. So you want to make sure that an interrupt arrives.

Invoking retrigger_next_event(NULL) from hrtimer_resume() should do
the trick.

Thanks,

tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/