Lines Matching refs:rescuer
256 struct worker *rescuer; /* MD: rescue worker */ member
2048 if (!wq->rescuer) in send_mayday()
2060 wake_up_process(wq->rescuer->task); in send_mayday()
2493 struct worker *rescuer = __rescuer; in rescuer_thread() local
2494 struct workqueue_struct *wq = rescuer->rescue_wq; in rescuer_thread()
2495 struct list_head *scheduled = &rescuer->scheduled; in rescuer_thread()
2533 worker_attach_to_pool(rescuer, pool); in rescuer_thread()
2552 process_scheduled_works(rescuer); in rescuer_thread()
2569 if (wq->rescuer && list_empty(&pwq->mayday_node)) { in rescuer_thread()
2593 worker_detach_from_pool(rescuer); in rescuer_thread()
2607 WARN_ON_ONCE(!(rescuer->flags & WORKER_NOT_RUNNING)); in rescuer_thread()
3048 (pwq->wq->saved_max_active == 1 || pwq->wq->rescuer)) { in start_flush_work()
4262 struct worker *rescuer; in init_rescuer() local
4268 rescuer = alloc_worker(NUMA_NO_NODE); in init_rescuer()
4269 if (!rescuer) in init_rescuer()
4272 rescuer->rescue_wq = wq; in init_rescuer()
4273 rescuer->task = kthread_create(rescuer_thread, rescuer, "%s", wq->name); in init_rescuer()
4274 if (IS_ERR(rescuer->task)) { in init_rescuer()
4275 ret = PTR_ERR(rescuer->task); in init_rescuer()
4276 kfree(rescuer); in init_rescuer()
4280 wq->rescuer = rescuer; in init_rescuer()
4281 kthread_bind_mask(rescuer->task, cpu_possible_mask); in init_rescuer()
4282 wake_up_process(rescuer->task); in init_rescuer()
4422 if (wq->rescuer) { in destroy_workqueue()
4423 struct worker *rescuer = wq->rescuer; in destroy_workqueue() local
4427 wq->rescuer = NULL; in destroy_workqueue()
4431 kthread_stop(rescuer->task); in destroy_workqueue()
4432 kfree(rescuer); in destroy_workqueue()