From: Florian Fainelli <f.fainelli@gmail.com>
To: Brian Norris <computersforpeace@gmail.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Linux Kernel <linux-kernel@vger.kernel.org>,
linux-pm@vger.kernel.org, Len Brown <len.brown@intel.com>,
Pavel Machek <pavel@ucw.cz>, Kevin Cernekee <cernekee@gmail.com>,
Chirantan Ekbote <chirantan@chromium.org>
Subject: Re: [PATCH v2] PM / sleep: add configurable delay for pm_test
Date: Sun, 22 Feb 2015 11:25:07 -0800 [thread overview]
Message-ID: <54EA2D13.3070709@gmail.com> (raw)
In-Reply-To: <20150222082654.GB24441@norris-Latitude-E6410>
Le 22/02/2015 00:26, Brian Norris a écrit :
> When CONFIG_PM_DEBUG=y, we provide a sysfs file (/sys/power/pm_test) for
> selecting one of a few suspend test modes, where rather than entering a
> full suspend state, the kernel will perform some subset of suspend
> steps, wait 5 seconds, and then resume back to normal operation.
>
> This mode is useful for (among other things) observing the state of the
> system just before entering a sleep mode, for debugging or analysis
> purposes. However, a constant 5 second wait is not sufficient for some
> sorts of analysis; for example, on an SoC, one might want to use
> external tools to probe the power states of various on-chip controllers
> or clocks.
>
> This patch turns this 5 second delay into a configurable module
> parameter, so users can determine how long to wait in this
> pseudo-suspend state before resuming the system.
>
> Example (wait 30 seconds);
>
> # echo 30 > /sys/module/suspend/parameters/pm_test_delay
> # echo core > /sys/power/pm_test
> # time echo mem > /sys/power/state
> ...
> [ 17.583625] suspend debug: Waiting for 30 second(s).
> ...
> real 0m30.381s
> user 0m0.017s
> sys 0m0.080s
>
> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
> ---
> v2: - make this a module param instead of an explicit sysfs file
> - drop the for loop; mdelay() does the same loop internally
> - decrease +36 lines of code and +2 lines of doc, to +6 lines of code and
> +2 lines of doc
>
> kernel/power/suspend.c | 13 +++++++++++--
> 1 file changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/power/suspend.c b/kernel/power/suspend.c
> index c347e3ce3a55..aee23dab0a55 100644
> --- a/kernel/power/suspend.c
> +++ b/kernel/power/suspend.c
> @@ -28,6 +28,7 @@
> #include <linux/ftrace.h>
> #include <trace/events/power.h>
> #include <linux/compiler.h>
> +#include <linux/moduleparam.h>
>
> #include "power.h"
>
> @@ -204,12 +205,20 @@ static bool platform_suspend_again(suspend_state_t state)
> suspend_ops->suspend_again() : false;
> }
>
> +#ifdef CONFIG_PM_DEBUG
> +static unsigned int pm_test_delay = 5;
> +module_param(pm_test_delay, uint, 0644);
> +MODULE_PARM_DESC(pm_test_delay,
> + "Number of seconds to wait before resuming from suspend test");
> +#endif
> +
> static int suspend_test(int level)
> {
> #ifdef CONFIG_PM_DEBUG
> if (pm_test_level == level) {
> - printk(KERN_INFO "suspend debug: Waiting for 5 seconds.\n");
> - mdelay(5000);
> + printk(KERN_INFO "suspend debug: Waiting for %d second(s).\n",
> + pm_test_delay);
> + mdelay(pm_test_delay * 1000);
> return 1;
> }
> #endif /* !CONFIG_PM_DEBUG */
>
next prev parent reply other threads:[~2015-02-22 19:25 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-03 23:55 [PATCH] PM / sleep: add configurable delay for pm_test Brian Norris
2014-09-03 23:55 ` Brian Norris
2014-09-04 7:14 ` Pavel Machek
2014-09-04 17:54 ` Brian Norris
2014-09-05 2:11 ` Chirantan Ekbote
2014-12-13 2:55 ` Brian Norris
2014-12-13 8:31 ` Pavel Machek
2014-12-16 23:58 ` Brian Norris
2014-12-17 8:09 ` Pavel Machek
2014-12-17 9:10 ` Brian Norris
2014-12-17 9:10 ` Brian Norris
2014-12-17 9:22 ` Pavel Machek
2015-02-21 20:25 ` Florian Fainelli
2015-02-21 20:32 ` Pavel Machek
2015-02-21 22:56 ` Florian Fainelli
2015-02-21 23:24 ` Pavel Machek
2015-02-22 8:23 ` Brian Norris
2015-02-22 8:26 ` [PATCH v2] " Brian Norris
2015-02-22 12:27 ` Pavel Machek
2015-02-22 15:17 ` Kevin Cernekee
2015-02-22 19:25 ` Florian Fainelli [this message]
2015-02-23 5:16 ` [PATCH v3] " Brian Norris
-- strict thread matches above, loose matches on Subject: below --
2025-05-07 3:44 [PATCH v2] " Zihuan Zhang
2025-05-07 4:55 ` Randy Dunlap
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54EA2D13.3070709@gmail.com \
--to=f.fainelli@gmail.com \
--cc=cernekee@gmail.com \
--cc=chirantan@chromium.org \
--cc=computersforpeace@gmail.com \
--cc=len.brown@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=pavel@ucw.cz \
--cc=rjw@rjwysocki.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.