Messages in this thread | | | Date | Wed, 29 Oct 2014 07:22:35 +0800 | From | "Li, Aubrey" <> | Subject | Re: [RFC/PATCH] PM / Sleep: Timer quiesce in freeze state |
| |
On 2014/10/28 16:25, Peter Zijlstra wrote: > On Tue, Oct 28, 2014 at 03:52:17PM +0800, Li, Aubrey wrote: > >> Both clocksource and clockevents are not per-cpu device, why do we need >> to run their suspend callback on *each* cpu? > > Uhm, you mean to say we don't use per-cpu timer lists and per-cpu timer > hardware for clockevents then? >
From OS level, currently tick device is per-cpu implementation while clocksource and clockevent devices are global device.
We already stop tick by clockevents_notify(suspend) on each cpu, that addresses per-cpu timer list.
And, we already call clocksource_suspend() and clockevents_suspend() in timekeeping_suspend() on the tick timer CPU. Yes, we didn't suspend per-cpu timer hardware on x86 because x86 does not have lapic timer suspend implementation. If we need to implement this, I think we can do the cross-CPU calls in clocksource/clockevents suspend(), but I didn't see any necessary we need to do this now.
so, I think we are okay now, :)
Thanks, -Aubrey
| |