Lines Matching refs:p
41 bool freezing_slow_path(struct task_struct *p) in freezing_slow_path() argument
43 if (p->flags & (PF_NOFREEZE | PF_SUSPEND_TASK)) in freezing_slow_path()
46 if (test_tsk_thread_flag(p, TIF_MEMDIE)) in freezing_slow_path()
49 if (pm_nosig_freezing || cgroup_freezing(p)) in freezing_slow_path()
52 if (pm_freezing && !(p->flags & PF_KTHREAD)) in freezing_slow_path()
59 bool frozen(struct task_struct *p) in frozen() argument
61 return READ_ONCE(p->__state) & TASK_FROZEN; in frozen()
102 static void fake_signal_wake_up(struct task_struct *p) in fake_signal_wake_up() argument
106 if (lock_task_sighand(p, &flags)) { in fake_signal_wake_up()
107 signal_wake_up(p, 0); in fake_signal_wake_up()
108 unlock_task_sighand(p, &flags); in fake_signal_wake_up()
112 static int __set_task_frozen(struct task_struct *p, void *arg) in __set_task_frozen() argument
114 unsigned int state = READ_ONCE(p->__state); in __set_task_frozen()
121 if (task_is_runnable(p)) in __set_task_frozen()
124 if (p != current && task_curr(p)) in __set_task_frozen()
142 WARN_ON_ONCE(debug_locks && p->lockdep_depth); in __set_task_frozen()
145 p->saved_state = p->__state; in __set_task_frozen()
146 WRITE_ONCE(p->__state, TASK_FROZEN); in __set_task_frozen()
150 static bool __freeze_task(struct task_struct *p) in __freeze_task() argument
153 return task_call_func(p, __set_task_frozen, NULL); in __freeze_task()
167 bool freeze_task(struct task_struct *p) in freeze_task() argument
172 if (!freezing(p) || frozen(p) || __freeze_task(p)) { in freeze_task()
177 if (!(p->flags & PF_KTHREAD)) in freeze_task()
178 fake_signal_wake_up(p); in freeze_task()
180 wake_up_state(p, TASK_NORMAL); in freeze_task()
193 static int __restore_freezer_state(struct task_struct *p, void *arg) in __restore_freezer_state() argument
195 unsigned int state = p->saved_state; in __restore_freezer_state()
198 WRITE_ONCE(p->__state, state); in __restore_freezer_state()
199 p->saved_state = TASK_RUNNING; in __restore_freezer_state()
206 void __thaw_task(struct task_struct *p) in __thaw_task() argument
209 if (frozen(p) && !task_call_func(p, __restore_freezer_state, NULL)) in __thaw_task()
210 wake_up_state(p, TASK_FROZEN); in __thaw_task()