Lines Matching +full:critical +full:- +full:action

1 // SPDX-License-Identifier: GPL-2.0-only
5 * kernel/hung_task.c - kernel thread for detecting tasks stuck in D state
42 * is disabled during the critical section. It also controls the size of
43 * the RCU grace period. So it needs to be upper-bound.
48 * Zero means infinite timeout - no checking done:
98 unsigned long switch_count = t->nvcsw + t->nivcsw; in check_hung_task()
104 if (unlikely(READ_ONCE(t->__state) & TASK_FROZEN)) in check_hung_task()
115 if (switch_count != t->last_switch_count) { in check_hung_task()
116 t->last_switch_count = switch_count; in check_hung_task()
117 t->last_switch_time = jiffies; in check_hung_task()
120 if (time_is_after_jiffies(t->last_switch_time + timeout * HZ)) in check_hung_task()
143 sysctl_hung_task_warnings--; in check_hung_task()
145 t->comm, t->pid, (jiffies - t->last_switch_time) / HZ); in check_hung_task()
147 print_tainted(), init_utsname()->release, in check_hung_task()
148 (int)strcspn(init_utsname()->version, " "), in check_hung_task()
149 init_utsname()->version); in check_hung_task()
150 if (t->flags & PF_POSTCOREDUMP) in check_hung_task()
168 * periodically exit the critical section and enter a new one.
212 if (!max_count--) in check_hung_uninterruptible_tasks()
220 * skip the TASK_KILLABLE tasks -- these can be killed in check_hung_uninterruptible_tasks()
221 * skip the TASK_IDLE tasks -- those are genuinely idle in check_hung_uninterruptible_tasks()
223 state = READ_ONCE(t->__state); in check_hung_uninterruptible_tasks()
247 return timeout ? last_checked - jiffies + timeout * HZ : in hung_timeout_jiffies()
359 unsigned long action, void *hcpu) in hungtask_pm_notify() argument
361 switch (action) { in hungtask_pm_notify()