hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/kernel/power/process.c
....@@ -23,6 +23,8 @@
2323 #include <trace/events/power.h>
2424 #include <linux/cpuset.h>
2525
26
+#include <trace/hooks/power.h>
27
+
2628 /*
2729 * Timeout for stopping processes
2830 */
....@@ -99,13 +101,19 @@
99101 if (wq_busy)
100102 show_workqueue_state();
101103
102
- read_lock(&tasklist_lock);
103
- for_each_process_thread(g, p) {
104
- if (p != current && !freezer_should_skip(p)
105
- && freezing(p) && !frozen(p))
106
- sched_show_task(p);
104
+ if (pm_debug_messages_on) {
105
+ read_lock(&tasklist_lock);
106
+ for_each_process_thread(g, p) {
107
+ if (p != current && !freezer_should_skip(p)
108
+ && freezing(p) && !frozen(p)) {
109
+ sched_show_task(p);
110
+ trace_android_vh_try_to_freeze_todo_unfrozen(p);
111
+ }
112
+ }
113
+ read_unlock(&tasklist_lock);
107114 }
108
- read_unlock(&tasklist_lock);
115
+
116
+ trace_android_vh_try_to_freeze_todo(todo, elapsed_msecs, wq_busy);
109117 } else {
110118 pr_cont("(elapsed %d.%03d seconds) ", elapsed_msecs / 1000,
111119 elapsed_msecs % 1000);
....@@ -135,7 +143,7 @@
135143 if (!pm_freezing)
136144 atomic_inc(&system_freezing_cnt);
137145
138
- pm_wakeup_clear(true);
146
+ pm_wakeup_clear(0);
139147 pr_info("Freezing user space processes ... ");
140148 pm_freezing = true;
141149 error = try_to_freeze_tasks(true);
....@@ -147,7 +155,7 @@
147155 BUG_ON(in_atomic());
148156
149157 /*
150
- * Now that the whole userspace is frozen we need to disbale
158
+ * Now that the whole userspace is frozen we need to disable
151159 * the OOM killer to disallow any further interference with
152160 * killable tasks. There is no guarantee oom victims will
153161 * ever reach a point they go away we have to wait with a timeout.