Lines Matching refs:task
46 linux_kthread_should_stop_task(struct task_struct *task) in linux_kthread_should_stop_task() argument
49 return (atomic_read(&task->kthread_flags) & KTHREAD_SHOULD_STOP_MASK); in linux_kthread_should_stop_task()
60 linux_kthread_stop(struct task_struct *task) in linux_kthread_stop() argument
68 atomic_or(KTHREAD_SHOULD_STOP_MASK, &task->kthread_flags); in linux_kthread_stop()
69 kthread_unpark(task); in linux_kthread_stop()
70 wake_up_process(task); in linux_kthread_stop()
71 wait_for_completion(&task->exited); in linux_kthread_stop()
76 retval = task->task_ret; in linux_kthread_stop()
77 put_task_struct(task); in linux_kthread_stop()
83 linux_kthread_park(struct task_struct *task) in linux_kthread_park() argument
86 atomic_or(KTHREAD_SHOULD_PARK_MASK, &task->kthread_flags); in linux_kthread_park()
87 wake_up_process(task); in linux_kthread_park()
88 wait_for_completion(&task->parked); in linux_kthread_park()
95 struct task_struct *task; in linux_kthread_parkme() local
97 task = current; in linux_kthread_parkme()
98 set_task_state(task, TASK_PARKED | TASK_UNINTERRUPTIBLE); in linux_kthread_parkme()
101 &task->kthread_flags) & KTHREAD_IS_PARKED_MASK) == 0) in linux_kthread_parkme()
102 complete(&task->parked); in linux_kthread_parkme()
104 set_task_state(task, TASK_PARKED | TASK_UNINTERRUPTIBLE); in linux_kthread_parkme()
106 atomic_andnot(KTHREAD_IS_PARKED_MASK, &task->kthread_flags); in linux_kthread_parkme()
107 set_task_state(task, TASK_RUNNING); in linux_kthread_parkme()
113 struct task_struct *task; in linux_kthread_should_park() local
115 task = current; in linux_kthread_should_park()
116 return (atomic_read(&task->kthread_flags) & KTHREAD_SHOULD_PARK_MASK); in linux_kthread_should_park()
120 linux_kthread_unpark(struct task_struct *task) in linux_kthread_unpark() argument
123 atomic_andnot(KTHREAD_SHOULD_PARK_MASK, &task->kthread_flags); in linux_kthread_unpark()
124 if ((atomic_fetch_andnot(KTHREAD_IS_PARKED_MASK, &task->kthread_flags) & in linux_kthread_unpark()
126 wake_up_state(task, TASK_PARKED); in linux_kthread_unpark()
132 struct task_struct *task; in linux_kthread_setup_and_run() local
136 task = td->td_lkpi_task; in linux_kthread_setup_and_run()
137 task->task_fn = task_fn; in linux_kthread_setup_and_run()
138 task->task_data = arg; in linux_kthread_setup_and_run()
146 return (task); in linux_kthread_setup_and_run()
152 struct task_struct *task = current; in linux_kthread_fn() local
154 if (linux_kthread_should_stop_task(task) == 0) in linux_kthread_fn()
155 task->task_ret = task->task_fn(task->task_data); in linux_kthread_fn()
157 if (linux_kthread_should_stop_task(task) != 0) { in linux_kthread_fn()
164 complete(&task->exited); in linux_kthread_fn()