Lines Matching refs:rescuer

298 	struct worker		*rescuer;	/* MD: rescue worker */  member
2391 if (!wq->rescuer) in send_mayday()
2403 wake_up_process(wq->rescuer->task); in send_mayday()
2826 struct worker *rescuer = __rescuer; in rescuer_thread() local
2827 struct workqueue_struct *wq = rescuer->rescue_wq; in rescuer_thread()
2864 worker_attach_to_pool(rescuer, pool); in rescuer_thread()
2872 WARN_ON_ONCE(!list_empty(&rescuer->scheduled)); in rescuer_thread()
2875 assign_work(work, rescuer, &n)) in rescuer_thread()
2879 if (!list_empty(&rescuer->scheduled)) { in rescuer_thread()
2880 process_scheduled_works(rescuer); in rescuer_thread()
2897 if (wq->rescuer && list_empty(&pwq->mayday_node)) { in rescuer_thread()
2919 worker_detach_from_pool(rescuer); in rescuer_thread()
2933 WARN_ON_ONCE(!(rescuer->flags & WORKER_NOT_RUNNING)); in rescuer_thread()
3381 (pwq->wq->saved_max_active == 1 || pwq->wq->rescuer)) { in start_flush_work()
4641 struct worker *rescuer; in init_rescuer() local
4647 rescuer = alloc_worker(NUMA_NO_NODE); in init_rescuer()
4648 if (!rescuer) { in init_rescuer()
4654 rescuer->rescue_wq = wq; in init_rescuer()
4655 rescuer->task = kthread_create(rescuer_thread, rescuer, "kworker/R-%s", wq->name); in init_rescuer()
4656 if (IS_ERR(rescuer->task)) { in init_rescuer()
4657 ret = PTR_ERR(rescuer->task); in init_rescuer()
4660 kfree(rescuer); in init_rescuer()
4664 wq->rescuer = rescuer; in init_rescuer()
4665 kthread_bind_mask(rescuer->task, cpu_possible_mask); in init_rescuer()
4666 wake_up_process(rescuer->task); in init_rescuer()
4806 if (wq->rescuer) { in destroy_workqueue()
4807 struct worker *rescuer = wq->rescuer; in destroy_workqueue() local
4811 wq->rescuer = NULL; in destroy_workqueue()
4815 kthread_stop(rescuer->task); in destroy_workqueue()
4816 kfree(rescuer); in destroy_workqueue()