[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAJZ5v0hwhVO6J2nS2-byU0+Lm8QbzdBzv4-X4eLNNUpTg+41Kg@mail.gmail.com>
Date: Fri, 14 Nov 2025 17:11:16 +0100
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Riwen Lu <luriwen@...inos.cn>
Cc: rafael@...nel.org, pavel@...nel.org, lenb@...nel.org,
linux-pm@...r.kernel.org, linux-kernel@...r.kernel.org,
xiongxin <xiongxin@...inos.cn>
Subject: Re: [PATCH v3] PM: suspend: Make pm_test delay interruptible by
wakeup events
On Thu, Nov 13, 2025 at 2:26 AM Riwen Lu <luriwen@...inos.cn> wrote:
>
> Modify the suspend_test() function to make the test delay can be
> interrupted by wakeup events.
>
> This improves the responsiveness of the system during suspend testing
> when wakeup events occur, allowing the suspend process to proceed
> without waiting for the full test delay to complete when wakeup events
> are detected.
>
> Additionally, using msleep() instead of mdelay() avoids potential soft
> lockup "CPU stuck" issues when long test delays are configured.
>
> Co-developed-by: xiongxin <xiongxin@...inos.cn>
> Signed-off-by: xiongxin <xiongxin@...inos.cn>
> Signed-off-by: Riwen Lu <luriwen@...inos.cn>
> ---
> kernel/power/suspend.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/power/suspend.c b/kernel/power/suspend.c
> index b4ca17c2fecf..1c2f777da367 100644
> --- a/kernel/power/suspend.c
> +++ b/kernel/power/suspend.c
> @@ -344,10 +344,14 @@ MODULE_PARM_DESC(pm_test_delay,
> static int suspend_test(int level)
> {
> #ifdef CONFIG_PM_DEBUG
> + int i;
> +
> if (pm_test_level == level) {
> pr_info("suspend debug: Waiting for %d second(s).\n",
> pm_test_delay);
> - mdelay(pm_test_delay * 1000);
> + for (i = 0; i < pm_test_delay && !pm_wakeup_pending(); i++)
> + msleep(1000);
> +
> return 1;
> }
> #endif /* !CONFIG_PM_DEBUG */
> --
Applied as 6.19 material, thanks!
Powered by blists - more mailing lists