linux/kernel/power
Tejun Heo a0a1a5fd4f 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>
2010-06-29 10:07:12 +02:00
..
block_io.c PM / Hibernate: Fix block_io.c printk warning 2010-05-10 23:08:18 +02:00
console.c vt: introduce and use vt_kmsg_redirect() function 2009-12-15 08:53:28 -08:00
hibernate_nvs.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hibernate.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
Kconfig PM: Add facility for advanced testing of async suspend/resume 2010-02-26 20:39:10 +01:00
main.c PM: Add a switch for disabling/enabling asynchronous suspend/resume 2010-02-26 20:39:10 +01:00
Makefile PM / Hibernate: Separate block_io 2010-05-10 23:08:18 +02:00
power.h PM / Hibernate: Separate block_io 2010-05-10 23:08:18 +02:00
poweroff.c trivial: kernel/power/poweroff.c: whitespace fix 2009-06-12 18:01:46 +02:00
process.c workqueue: reimplement workqueue freeze using max_active 2010-06-29 10:07:12 +02:00
snapshot.c PM / Hibernate: Snapshot cleanup 2010-05-10 23:08:17 +02:00
suspend_test.c PM: Make warning in suspend_test_finish() less likely to happen 2009-10-22 08:23:45 +09:00
suspend.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
swap.c PM / Hibernate: Group swap ops 2010-05-10 23:08:18 +02:00
user.c PM / Hibernate: Snapshot cleanup 2010-05-10 23:08:17 +02:00