Messages in this thread | | | Date | Wed, 29 Oct 2014 09:24:32 +0100 | From | Peter Zijlstra <> | Subject | Re: [RFC/PATCH] PM / Sleep: Timer quiesce in freeze state |
| |
On Wed, Oct 29, 2014 at 07:22:35AM +0800, Li, Aubrey wrote: > 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.
Right, I know. But I was saying I might have confused myself between events and sources while going through that call chain, thereby (mistakenly) thinking the source suspend code needed more than the 1 cpu.
Its easy to confuse yourself trying to reverse engineer that opaque callchain :-)
> 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, :)
Right, I tend to agree, we'll find out quickly enough once those platforms will try this code anyhow ;-)
| |