lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sun, 21 Sep 2014 02:04:45 +0200 From: "Rafael J. Wysocki" <rjw@...ysocki.net> To: Amit Pundir <amit.pundir@...aro.org> Cc: linux-kernel@...r.kernel.org, Todd Poynor <toddpoynor@...gle.com>, Pavel Machek <pavel@....cz>, Thomas Gleixner <tglx@...utronix.de>, Len Brown <len.brown@...el.com>, linux-pm@...r.kernel.org, Android Kernel Team <kernel-team@...roid.com> Subject: Re: [PATCH v2] PM: Print wall time at suspend entry and exit On Friday, September 19, 2014 04:57:12 AM Amit Pundir wrote: > From: Todd Poynor <toddpoynor@...gle.com> > > Existing timestamps in a dmesg only log suspend activities > (e.g. filesystem syncs, freezing/unfreezing tasks etc) while the > system has already started to enter/exit the suspend state. > > Sometimes it is handy to have suspend entry/exit overhead > information while debugging suspend issues. This patch print > markers with wall timestamps at suspend Entry and Exit in > the kernel log. These timestamps can be used to compute how > long the system spent in low-power suspend state plus the > entry/exit overhead. Don't we already have tracepoints for that? > Cc: Pavel Machek <pavel@....cz> > Cc: Thomas Gleixner <tglx@...utronix.de> > Cc: Rafael J. Wysocki <rjw@...ysocki.net> > Cc: Len Brown <len.brown@...el.com> > Cc: linux-pm@...r.kernel.org > Cc: Android Kernel Team <kernel-team@...roid.com> > Signed-off-by: Todd Poynor <toddpoynor@...gle.com> > [Amit Pundir: Reworded the commit message] > Signed-off-by: Amit Pundir <amit.pundir@...aro.org> > --- > Resending this patch assuming that it might have got lost in between merge > window rush last time and now people might have some time to look at it. > > kernel/power/suspend.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/kernel/power/suspend.c b/kernel/power/suspend.c > index 18c6219..5390c6c 100644 > --- a/kernel/power/suspend.c > +++ b/kernel/power/suspend.c > @@ -26,6 +26,7 @@ > #include <linux/suspend.h> > #include <linux/syscore_ops.h> > #include <linux/ftrace.h> > +#include <linux/rtc.h> > #include <trace/events/power.h> > #include <linux/compiler.h> > > @@ -443,6 +444,18 @@ static int enter_state(suspend_state_t state) > return error; > } > > +static void pm_suspend_marker(char *annotation) > +{ > + struct timespec ts; > + struct rtc_time tm; > + > + getnstimeofday(&ts); > + rtc_time_to_tm(ts.tv_sec, &tm); > + pr_info("PM: suspend %s %d-%02d-%02d %02d:%02d:%02d.%09lu UTC\n", > + annotation, tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, > + tm.tm_hour, tm.tm_min, tm.tm_sec, ts.tv_nsec); > +} > + > /** > * pm_suspend - Externally visible function for suspending the system. > * @state: System sleep state to enter. > @@ -457,6 +470,7 @@ int pm_suspend(suspend_state_t state) > if (state <= PM_SUSPEND_ON || state >= PM_SUSPEND_MAX) > return -EINVAL; > > + pm_suspend_marker("entry"); > error = enter_state(state); > if (error) { > suspend_stats.fail++; > @@ -464,6 +478,7 @@ int pm_suspend(suspend_state_t state) > } else { > suspend_stats.success++; > } > + pm_suspend_marker("exit"); > return error; > } > EXPORT_SYMBOL(pm_suspend); > -- 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@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists