Lines Matching refs:vtsk
25 struct vhost_task *vtsk = data; in vhost_task_fn() local
50 if (test_bit(VHOST_TASK_FLAGS_STOP, &vtsk->flags)) { in vhost_task_fn()
55 did_work = vtsk->fn(vtsk->data); in vhost_task_fn()
60 complete(&vtsk->exited); in vhost_task_fn()
70 void vhost_task_wake(struct vhost_task *vtsk) in vhost_task_wake() argument
72 wake_up_process(vtsk->task); in vhost_task_wake()
83 void vhost_task_stop(struct vhost_task *vtsk) in vhost_task_stop() argument
85 set_bit(VHOST_TASK_FLAGS_STOP, &vtsk->flags); in vhost_task_stop()
86 vhost_task_wake(vtsk); in vhost_task_stop()
91 wait_for_completion(&vtsk->exited); in vhost_task_stop()
92 kfree(vtsk); in vhost_task_stop()
118 struct vhost_task *vtsk; in vhost_task_create() local
121 vtsk = kzalloc(sizeof(*vtsk), GFP_KERNEL); in vhost_task_create()
122 if (!vtsk) in vhost_task_create()
124 init_completion(&vtsk->exited); in vhost_task_create()
125 vtsk->data = arg; in vhost_task_create()
126 vtsk->fn = fn; in vhost_task_create()
128 args.fn_arg = vtsk; in vhost_task_create()
132 kfree(vtsk); in vhost_task_create()
136 vtsk->task = tsk; in vhost_task_create()
137 return vtsk; in vhost_task_create()
145 void vhost_task_start(struct vhost_task *vtsk) in vhost_task_start() argument
147 wake_up_new_task(vtsk->task); in vhost_task_start()