Lines Matching refs:kthread

41 struct kthread {  struct
57 container_of(vfork, struct kthread, exited) argument
59 static inline struct kthread *to_kthread(struct task_struct *k) in to_kthread()
64 static struct kthread *to_live_kthread(struct task_struct *k) in to_live_kthread()
151 struct kthread *kthread = to_kthread(task); in probe_kthread_data() local
154 probe_kernel_read(&data, &kthread->data, sizeof(data)); in probe_kthread_data()
158 static void __kthread_parkme(struct kthread *self) in __kthread_parkme()
177 static int kthread(void *_create) in kthread() function
184 struct kthread self; in kthread()
233 pid = kernel_thread(kthread, create, CLONE_FS | CLONE_FILES | SIGCHLD); in create_kthread()
400 static void __kthread_unpark(struct task_struct *k, struct kthread *kthread) in __kthread_unpark() argument
402 clear_bit(KTHREAD_SHOULD_PARK, &kthread->flags); in __kthread_unpark()
409 if (test_and_clear_bit(KTHREAD_IS_PARKED, &kthread->flags)) { in __kthread_unpark()
410 if (test_bit(KTHREAD_IS_PER_CPU, &kthread->flags)) in __kthread_unpark()
411 __kthread_bind(k, kthread->cpu, TASK_PARKED); in __kthread_unpark()
426 struct kthread *kthread = to_live_kthread(k); in kthread_unpark() local
428 if (kthread) in kthread_unpark()
429 __kthread_unpark(k, kthread); in kthread_unpark()
447 struct kthread *kthread = to_live_kthread(k); in kthread_park() local
450 if (kthread) { in kthread_park()
451 if (!test_bit(KTHREAD_IS_PARKED, &kthread->flags)) { in kthread_park()
452 set_bit(KTHREAD_SHOULD_PARK, &kthread->flags); in kthread_park()
455 wait_for_completion(&kthread->parked); in kthread_park()
481 struct kthread *kthread; in kthread_stop() local
487 kthread = to_live_kthread(k); in kthread_stop()
488 if (kthread) { in kthread_stop()
489 set_bit(KTHREAD_SHOULD_STOP, &kthread->flags); in kthread_stop()
490 __kthread_unpark(k, kthread); in kthread_stop()
492 wait_for_completion(&kthread->exited); in kthread_stop()