Lines Matching full:task

44 linux_kthread_should_stop_task(struct task_struct *task)  in linux_kthread_should_stop_task()  argument
47 return (atomic_read(&task->kthread_flags) & KTHREAD_SHOULD_STOP_MASK); in linux_kthread_should_stop_task()
58 linux_kthread_stop(struct task_struct *task) in linux_kthread_stop() argument
63 * Assume task is still alive else caller should not call in linux_kthread_stop()
66 atomic_or(KTHREAD_SHOULD_STOP_MASK, &task->kthread_flags); in linux_kthread_stop()
67 kthread_unpark(task); in linux_kthread_stop()
68 wake_up_process(task); in linux_kthread_stop()
69 wait_for_completion(&task->exited); in linux_kthread_stop()
72 * Get return code and free task structure: in linux_kthread_stop()
74 retval = task->task_ret; in linux_kthread_stop()
75 put_task_struct(task); in linux_kthread_stop()
81 linux_kthread_park(struct task_struct *task) in linux_kthread_park() argument
84 atomic_or(KTHREAD_SHOULD_PARK_MASK, &task->kthread_flags); in linux_kthread_park()
85 wake_up_process(task); in linux_kthread_park()
86 wait_for_completion(&task->parked); in linux_kthread_park()
93 struct task_struct *task; in linux_kthread_parkme() local
95 task = current; in linux_kthread_parkme()
96 set_task_state(task, TASK_PARKED | TASK_UNINTERRUPTIBLE); in linux_kthread_parkme()
99 &task->kthread_flags) & KTHREAD_IS_PARKED_MASK) == 0) in linux_kthread_parkme()
100 complete(&task->parked); in linux_kthread_parkme()
102 set_task_state(task, TASK_PARKED | TASK_UNINTERRUPTIBLE); in linux_kthread_parkme()
104 atomic_andnot(KTHREAD_IS_PARKED_MASK, &task->kthread_flags); in linux_kthread_parkme()
105 set_task_state(task, TASK_RUNNING); in linux_kthread_parkme()
111 struct task_struct *task; in linux_kthread_should_park() local
113 task = current; in linux_kthread_should_park()
114 return (atomic_read(&task->kthread_flags) & KTHREAD_SHOULD_PARK_MASK); in linux_kthread_should_park()
118 linux_kthread_unpark(struct task_struct *task) in linux_kthread_unpark() argument
121 atomic_andnot(KTHREAD_SHOULD_PARK_MASK, &task->kthread_flags); in linux_kthread_unpark()
122 if ((atomic_fetch_andnot(KTHREAD_IS_PARKED_MASK, &task->kthread_flags) & in linux_kthread_unpark()
124 wake_up_state(task, TASK_PARKED); in linux_kthread_unpark()
130 struct task_struct *task; in linux_kthread_setup_and_run() local
134 task = td->td_lkpi_task; in linux_kthread_setup_and_run()
135 task->task_fn = task_fn; in linux_kthread_setup_and_run()
136 task->task_data = arg; in linux_kthread_setup_and_run()
144 return (task); in linux_kthread_setup_and_run()
150 struct task_struct *task = current; in linux_kthread_fn() local
152 if (linux_kthread_should_stop_task(task) == 0) in linux_kthread_fn()
153 task->task_ret = task->task_fn(task->task_data); in linux_kthread_fn()
155 if (linux_kthread_should_stop_task(task) != 0) { in linux_kthread_fn()
162 complete(&task->exited); in linux_kthread_fn()
180 worker->task = current; in lkpi_kthread_worker_init_fn()