Re: [PATCH v2] PM / Domains: Skip timings during syscore suspend/resume

From: Rafael J. Wysocki
Date: Mon Jun 15 2015 - 19:15:15 EST


On Friday, May 29, 2015 05:24:23 PM Geert Uytterhoeven wrote:
> From: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
>
> The PM Domain code uses ktime_get() to perform various latency
> measurements. However, if ktime_get() is called while timekeeping is
> suspended, the following warning is printed:
>
> WARNING: CPU: 0 PID: 1340 at kernel/time/timekeeping.c:576 ktime_get+0x3
>
> This happens when resuming the PM Domain that contains the clock events
> source, which calls pm_genpd_syscore_poweron(). Chain of operations is:
>
> timekeeping_resume()
> {
> clockevents_resume()
> sh_cmt_clock_event_resume()
> pm_genpd_syscore_poweron()
> pm_genpd_sync_poweron()
> genpd_syscore_switch()
> genpd_power_on()
> ktime_get(), but timekeeping_suspended == 1
> ...
> timekeeping_suspended = 0;
> }
>
> Fix this by adding a "timed" parameter to genpd_power_{on,off}() and
> pm_genpd_sync_power{off,on}(), to indicate whether latency measurements
> are allowed. This parameter is passed as false in
> genpd_syscore_switch() (i.e. during syscore suspend/resume), and true in
> all other cases.
>
> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>

Queued up for 4.2, thanks!


--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
--
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/