Freezer retry loops during suspend are often triggered by tasks entering D-state (TASK_UNINTERRUPTIBLE), which cannot be frozen. This patch adds a simple retry counter to freeze_processes() to help quantify how many attempts were required before all tasks entered the frozen state. This is useful for performance tuning and debugging unpredictable suspend delays. A new dmesg log is added for visibility: freeze round: xx, tasks to freeze: xx This message allows users to correlate freeze instability with system state. Signed-off-by: Zihuan Zhang --- kernel/power/process.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kernel/power/process.c b/kernel/power/process.c index 9d3cbde905b9..442d2ebba3ed 100644 --- a/kernel/power/process.c +++ b/kernel/power/process.c @@ -76,6 +76,8 @@ static int try_to_freeze_tasks(bool user_only) if (user_only && !has_freezable_task) continue; + pr_info("freeze round: %d, task to freeze: %d\n", round, todo); + if (!todo || time_after(jiffies, end_time)) break; -- 2.25.1