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 ;-) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/