[PATCH v2] power: suspend: Replace dpm_watchdog by sleep timer

From: josephjang
Date: Wed Oct 21 2020 - 06:04:28 EST


On Wed, Oct 21, 2020 at 4:09 AM Joseph Jang <josephjang@xxxxxxxxxx> wrote:
>
> Since dpm_watchdog just cover device power management, we proposed sleep
> timer to cover not only device power management hang issues, but also
> core power management hand issue.
>
> Add sleep timer and timeout handler to prevent device stuck during suspend/
> resume process. The timeout handler will dump disk sleep task at first
> round timeout and trigger kernel panic at second round timeout.
> The default timer for each round is defined in
> CONFIG_PM_SLEEP_TIMER_TIMEOUT.

Let me repeat the point that Greg has made already: Please don't
replace the existing watchdog with something else, but try to extend
it to cover your use case.

As it stands, the patch is not applicable IMV.

Thanks!

Thank you Rafael's promptly response.
Since dmp_watchdog was implement in drivers/base/power/main.c and it use stack memory for timer struct.
It is a little bit hard to use its API in kernel/power/suspend.c.
And from the call flow, we prefer to start/stop watchog timer in suspend.c only. It will also cover device
power management as well.

If you don't want to change Kconfig, I can keep original DPM_WATCHDOG.
But it is not easy to extend driver base API into core power base. Am I correct?

If you have some suggestion, please feel free to let me know, I will follow up.

Thank you,
Joseph.