Lines Matching refs:p

38 bool freezing_slow_path(struct task_struct *p)  in freezing_slow_path()  argument
40 if (p->flags & (PF_NOFREEZE | PF_SUSPEND_TASK)) in freezing_slow_path()
43 if (test_tsk_thread_flag(p, TIF_MEMDIE)) in freezing_slow_path()
46 if (pm_nosig_freezing || cgroup_freezing(p)) in freezing_slow_path()
49 if (pm_freezing && !(p->flags & PF_KTHREAD)) in freezing_slow_path()
56 bool frozen(struct task_struct *p) in frozen() argument
58 return READ_ONCE(p->__state) & TASK_FROZEN; in frozen()
98 static void fake_signal_wake_up(struct task_struct *p) in fake_signal_wake_up() argument
102 if (lock_task_sighand(p, &flags)) { in fake_signal_wake_up()
103 signal_wake_up(p, 0); in fake_signal_wake_up()
104 unlock_task_sighand(p, &flags); in fake_signal_wake_up()
108 static int __set_task_frozen(struct task_struct *p, void *arg) in __set_task_frozen() argument
110 unsigned int state = READ_ONCE(p->__state); in __set_task_frozen()
117 if (task_is_runnable(p)) in __set_task_frozen()
120 if (p != current && task_curr(p)) in __set_task_frozen()
138 WARN_ON_ONCE(debug_locks && p->lockdep_depth); in __set_task_frozen()
141 p->saved_state = p->__state; in __set_task_frozen()
142 WRITE_ONCE(p->__state, TASK_FROZEN); in __set_task_frozen()
146 static bool __freeze_task(struct task_struct *p) in __freeze_task() argument
149 return task_call_func(p, __set_task_frozen, NULL); in __freeze_task()
163 bool freeze_task(struct task_struct *p) in freeze_task() argument
168 if (!freezing(p) || frozen(p) || __freeze_task(p)) { in freeze_task()
173 if (!(p->flags & PF_KTHREAD)) in freeze_task()
174 fake_signal_wake_up(p); in freeze_task()
176 wake_up_state(p, TASK_NORMAL); in freeze_task()
189 static int __restore_freezer_state(struct task_struct *p, void *arg) in __restore_freezer_state() argument
191 unsigned int state = p->saved_state; in __restore_freezer_state()
194 WRITE_ONCE(p->__state, state); in __restore_freezer_state()
195 p->saved_state = TASK_RUNNING; in __restore_freezer_state()
202 void __thaw_task(struct task_struct *p) in __thaw_task() argument
205 if (frozen(p) && !task_call_func(p, __restore_freezer_state, NULL)) in __thaw_task()
206 wake_up_state(p, TASK_FROZEN); in __thaw_task()