Re: [PATCH] clockevents: don't suspend/resume if unused

From: Thomas Gleixner
Date: Mon May 25 2015 - 16:11:18 EST


On Mon, 25 May 2015, Sylvain Rochet wrote:
> On Mon, May 25, 2015 at 08:48:06PM +0200, Thomas Gleixner wrote:
> > On Fri, 16 Jan 2015, Alexandre Belloni wrote:
> >
> > > There is no point in calling suspend/resume for unused
> > > clockevents as they are already stopped and disabled.
> > >
> > > Furthermore, it can take some time to wait for some IPs to stop counting.
> >
> > While I agree with the patch itself, I really can't understand that
> > last sentence.
> >
> > If stuff is stopped and disabled, what takes time to stop counting?
>
> Atmel PIT is a bit weird, writing to AT91_PIT_MR restarts the timer even
> if you just want to stop it and then the only way to stop the timer is
> to wait for a complete timer cycle.
>
> The problem is not when suspending, restarting the timer just before
> suspending is not such a problem because is will eventually stop at
> some point in the future.
>
> However it can takes a very long time if the system switchs to slow
> clock, therefore when resuming the timer is still running and we have to
> wait for the PIT to stop counting because we re-enabled it for one cycle
> when suspending, which is weird, it adds about ~128ms resumt time for
> Atmel SoC.

That's a reasonable explanation.

While timer IPs seem to be designed by janitors in general, this one
has an extraordinary level of stupidity.

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/