Lines Matching refs:rescuer

250 	struct worker		*rescuer;	/* I: rescue worker */  member
1846 if (!wq->rescuer) in send_mayday()
1858 wake_up_process(wq->rescuer->task); in send_mayday()
2256 struct worker *rescuer = __rescuer; in rescuer_thread() local
2257 struct workqueue_struct *wq = rescuer->rescue_wq; in rescuer_thread()
2258 struct list_head *scheduled = &rescuer->scheduled; in rescuer_thread()
2267 rescuer->task->flags |= PF_WQ_WORKER; in rescuer_thread()
2295 worker_attach_to_pool(rescuer, pool); in rescuer_thread()
2298 rescuer->pool = pool; in rescuer_thread()
2310 process_scheduled_works(rescuer); in rescuer_thread()
2343 rescuer->pool = NULL; in rescuer_thread()
2346 worker_detach_from_pool(rescuer, pool); in rescuer_thread()
2355 rescuer->task->flags &= ~PF_WQ_WORKER; in rescuer_thread()
2360 WARN_ON_ONCE(!(rescuer->flags & WORKER_NOT_RUNNING)); in rescuer_thread()
2755 if (pwq->wq->saved_max_active == 1 || pwq->wq->rescuer) in start_flush_work()
3184 kfree(wq->rescuer); in rcu_free_wq()
3903 struct worker *rescuer; in __alloc_workqueue_key() local
3905 rescuer = alloc_worker(NUMA_NO_NODE); in __alloc_workqueue_key()
3906 if (!rescuer) in __alloc_workqueue_key()
3909 rescuer->rescue_wq = wq; in __alloc_workqueue_key()
3910 rescuer->task = kthread_create(rescuer_thread, rescuer, "%s", in __alloc_workqueue_key()
3912 if (IS_ERR(rescuer->task)) { in __alloc_workqueue_key()
3913 kfree(rescuer); in __alloc_workqueue_key()
3917 wq->rescuer = rescuer; in __alloc_workqueue_key()
3918 rescuer->task->flags |= PF_NO_SETAFFINITY; in __alloc_workqueue_key()
3919 wake_up_process(rescuer->task); in __alloc_workqueue_key()
3998 if (wq->rescuer) in destroy_workqueue()
3999 kthread_stop(wq->rescuer->task); in destroy_workqueue()
4279 worker == pwq->wq->rescuer ? "(RESCUER)" : "", in show_pwq()