a0a1a5fd4f
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> |
||
---|---|---|
.. | ||
block_io.c | ||
console.c | ||
hibernate.c | ||
hibernate_nvs.c | ||
Kconfig | ||
main.c | ||
Makefile | ||
power.h | ||
poweroff.c | ||
process.c | ||
snapshot.c | ||
suspend.c | ||
suspend_test.c | ||
swap.c | ||
user.c |