History

workqueue: Make worker_attach/detach_pool() update worker->pool

For historical reasons, the worker attach/detach functions don't currently manage worker->pool and the callers are manually and inconsistently updating it. This patch moves worker->pool updates into the worker attach/detach functions. This makes worker->pool consistent and clearly defines how worker->pool updates are synchronized. This will help later workqueue visibility improvements by allowing safe access to workqueue information from worker->task.

Tejun Heo committed 8 years ago

Commit a2d812a1 parent 1258fae2 files · +9 −9Browse files

Showing the changes to kernel/workqueue_internal.h (1 of 2 files). Show all

Unified · Split

kernel/workqueue_internal.h+1−1
@@ -37,7 +37,7 @@ struct worker { · 36 unmodified lines
3737 /* 64 bytes boundary on 64bit, 32 on 32bit */
3838
3939 struct task_struct *task; /* I: worker task */
40− struct worker_pool *pool; /* I: the associated pool */
40+ struct worker_pool *pool; /* A: the associated pool */
4141 /* L: for rescuers */
4242 struct list_head node; /* A: anchored at pool->workers */
4343 /* A: runs through worker->node */