Searched hist:a0a1a5fd (Results 1 – 3 of 3) sorted by relevance
/openbmc/linux/kernel/power/ |
H A D | process.c | a0a1a5fd Tue Jun 29 03:07:12 CDT 2010 Tejun Heo <tj@kernel.org> workqueue: reimplement workqueue freeze using max_active
Currently, workqueue freezing is implemented by marking the worker freezeable and calling try_to_freeze() from dispatch loop. Reimplement it using cwq->limit so that the workqueue is frozen instead of the worker.
* workqueue_struct->saved_max_active is added which stores the specified max_active on initialization.
* On freeze, all cwq->max_active's are quenched to zero. Freezing is complete when nr_active on all cwqs reach zero.
* On thaw, all cwq->max_active's are restored to wq->saved_max_active and the worklist is repopulated.
This new implementation allows having single shared pool of workers per cpu.
Signed-off-by: Tejun Heo <tj@kernel.org> a0a1a5fd Tue Jun 29 03:07:12 CDT 2010 Tejun Heo <tj@kernel.org> workqueue: reimplement workqueue freeze using max_active Currently, workqueue freezing is implemented by marking the worker freezeable and calling try_to_freeze() from dispatch loop. Reimplement it using cwq->limit so that the workqueue is frozen instead of the worker. * workqueue_struct->saved_max_active is added which stores the specified max_active on initialization. * On freeze, all cwq->max_active's are quenched to zero. Freezing is complete when nr_active on all cwqs reach zero. * On thaw, all cwq->max_active's are restored to wq->saved_max_active and the worklist is repopulated. This new implementation allows having single shared pool of workers per cpu. Signed-off-by: Tejun Heo <tj@kernel.org>
|
/openbmc/linux/include/linux/ |
H A D | workqueue.h | a0a1a5fd Tue Jun 29 03:07:12 CDT 2010 Tejun Heo <tj@kernel.org> workqueue: reimplement workqueue freeze using max_active
Currently, workqueue freezing is implemented by marking the worker freezeable and calling try_to_freeze() from dispatch loop. Reimplement it using cwq->limit so that the workqueue is frozen instead of the worker.
* workqueue_struct->saved_max_active is added which stores the specified max_active on initialization.
* On freeze, all cwq->max_active's are quenched to zero. Freezing is complete when nr_active on all cwqs reach zero.
* On thaw, all cwq->max_active's are restored to wq->saved_max_active and the worklist is repopulated.
This new implementation allows having single shared pool of workers per cpu.
Signed-off-by: Tejun Heo <tj@kernel.org> a0a1a5fd Tue Jun 29 03:07:12 CDT 2010 Tejun Heo <tj@kernel.org> workqueue: reimplement workqueue freeze using max_active Currently, workqueue freezing is implemented by marking the worker freezeable and calling try_to_freeze() from dispatch loop. Reimplement it using cwq->limit so that the workqueue is frozen instead of the worker. * workqueue_struct->saved_max_active is added which stores the specified max_active on initialization. * On freeze, all cwq->max_active's are quenched to zero. Freezing is complete when nr_active on all cwqs reach zero. * On thaw, all cwq->max_active's are restored to wq->saved_max_active and the worklist is repopulated. This new implementation allows having single shared pool of workers per cpu. Signed-off-by: Tejun Heo <tj@kernel.org>
|
/openbmc/linux/kernel/ |
H A D | workqueue.c | a0a1a5fd Tue Jun 29 03:07:12 CDT 2010 Tejun Heo <tj@kernel.org> workqueue: reimplement workqueue freeze using max_active
Currently, workqueue freezing is implemented by marking the worker freezeable and calling try_to_freeze() from dispatch loop. Reimplement it using cwq->limit so that the workqueue is frozen instead of the worker.
* workqueue_struct->saved_max_active is added which stores the specified max_active on initialization.
* On freeze, all cwq->max_active's are quenched to zero. Freezing is complete when nr_active on all cwqs reach zero.
* On thaw, all cwq->max_active's are restored to wq->saved_max_active and the worklist is repopulated.
This new implementation allows having single shared pool of workers per cpu.
Signed-off-by: Tejun Heo <tj@kernel.org> a0a1a5fd Tue Jun 29 03:07:12 CDT 2010 Tejun Heo <tj@kernel.org> workqueue: reimplement workqueue freeze using max_active Currently, workqueue freezing is implemented by marking the worker freezeable and calling try_to_freeze() from dispatch loop. Reimplement it using cwq->limit so that the workqueue is frozen instead of the worker. * workqueue_struct->saved_max_active is added which stores the specified max_active on initialization. * On freeze, all cwq->max_active's are quenched to zero. Freezing is complete when nr_active on all cwqs reach zero. * On thaw, all cwq->max_active's are restored to wq->saved_max_active and the worklist is repopulated. This new implementation allows having single shared pool of workers per cpu. Signed-off-by: Tejun Heo <tj@kernel.org>
|