Documentation/admin-guide/kernel-parameters.txt | 7 +++++++ kernel/power/hibernate.c | 9 +++++++-- 2 files changed, 14 insertions(+), 2 deletions(-)
This patch turns this 5 second delay into a configurable module
parameter, so users can determine how long to wait in this
pseudo-hibernate state before resuming the system.
The configurable delay parameter has been added to suspend and
synchronized to hibernation.
Example (wait 30 seconds);
# echo 30 > /sys/module/hibernate/parameters/pm_test_delay
# echo core > /sys/power/pm_test
Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
---
v3:
- Fix the location of the hibernate.pm_test_delay parameter in
kernel-parameters.txt.
- Update ‘[hibernate]’ to ‘[HIBERNATION]’
v2:
- Fix typos.
---
Documentation/admin-guide/kernel-parameters.txt | 7 +++++++
kernel/power/hibernate.c | 9 +++++++--
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index d9fd26b95b34..a110cbb37f20 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -1828,6 +1828,13 @@
lz4: Select LZ4 compression algorithm to
compress/decompress hibernation image.
+ hibernate.pm_test_delay=
+ [HIBERNATION]
+ Sets the number of seconds to remain in a hibernation test
+ mode before resuming the system (see
+ /sys/power/pm_test). Only available when CONFIG_PM_DEBUG
+ is set. Default value is 5.
+
highmem=nn[KMG] [KNL,BOOT,EARLY] forces the highmem zone to have an exact
size of <nn>. This works even on boxes that have no
highmem otherwise. This also works to reduce highmem
diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c
index 23c0f4e6cb2f..485133af884d 100644
--- a/kernel/power/hibernate.c
+++ b/kernel/power/hibernate.c
@@ -133,10 +133,15 @@ bool system_entering_hibernation(void)
EXPORT_SYMBOL(system_entering_hibernation);
#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 hibernation test");
static void hibernation_debug_sleep(void)
{
- pr_info("debug: Waiting for 5 seconds.\n");
- mdelay(5000);
+ pr_info("hibernation debug: Waiting for %d second(s).\n",
+ pm_test_delay);
+ mdelay(pm_test_delay * 1000);
}
static int hibernation_test(int level)
--
2.25.1
On 5/6/25 11:35 PM, Zihuan Zhang wrote:
> This patch turns this 5 second delay into a configurable module
> parameter, so users can determine how long to wait in this
> pseudo-hibernate state before resuming the system.
>
> The configurable delay parameter has been added to suspend and
> synchronized to hibernation.
>
> Example (wait 30 seconds);
>
> # echo 30 > /sys/module/hibernate/parameters/pm_test_delay
> # echo core > /sys/power/pm_test
>
> Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
Looks good. Thanks.
Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
> ---
> v3:
> - Fix the location of the hibernate.pm_test_delay parameter in
> kernel-parameters.txt.
> - Update ‘[hibernate]’ to ‘[HIBERNATION]’
> v2:
> - Fix typos.
> ---
> Documentation/admin-guide/kernel-parameters.txt | 7 +++++++
> kernel/power/hibernate.c | 9 +++++++--
> 2 files changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index d9fd26b95b34..a110cbb37f20 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -1828,6 +1828,13 @@
> lz4: Select LZ4 compression algorithm to
> compress/decompress hibernation image.
>
> + hibernate.pm_test_delay=
> + [HIBERNATION]
> + Sets the number of seconds to remain in a hibernation test
> + mode before resuming the system (see
> + /sys/power/pm_test). Only available when CONFIG_PM_DEBUG
> + is set. Default value is 5.
> +
> highmem=nn[KMG] [KNL,BOOT,EARLY] forces the highmem zone to have an exact
> size of <nn>. This works even on boxes that have no
> highmem otherwise. This also works to reduce highmem
> diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c
> index 23c0f4e6cb2f..485133af884d 100644
> --- a/kernel/power/hibernate.c
> +++ b/kernel/power/hibernate.c
> @@ -133,10 +133,15 @@ bool system_entering_hibernation(void)
> EXPORT_SYMBOL(system_entering_hibernation);
>
> #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 hibernation test");
> static void hibernation_debug_sleep(void)
> {
> - pr_info("debug: Waiting for 5 seconds.\n");
> - mdelay(5000);
> + pr_info("hibernation debug: Waiting for %d second(s).\n",
> + pm_test_delay);
> + mdelay(pm_test_delay * 1000);
> }
>
> static int hibernation_test(int level)
--
~Randy
On Wed, May 7, 2025 at 5:49 PM Randy Dunlap <rdunlap@infradead.org> wrote: > > > > On 5/6/25 11:35 PM, Zihuan Zhang wrote: > > This patch turns this 5 second delay into a configurable module > > parameter, so users can determine how long to wait in this > > pseudo-hibernate state before resuming the system. > > > > The configurable delay parameter has been added to suspend and > > synchronized to hibernation. > > > > Example (wait 30 seconds); > > > > # echo 30 > /sys/module/hibernate/parameters/pm_test_delay > > # echo core > /sys/power/pm_test > > > > Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn> > > Looks good. Thanks. > > Reviewed-by: Randy Dunlap <rdunlap@infradead.org> Applied as 6.16 material, thanks!
© 2016 - 2025 Red Hat, Inc.