summaryrefslogtreecommitdiffstats
path: root/kernel/power
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2010-06-29 10:07:12 +0200
committerTejun Heo <tj@kernel.org>2010-06-29 10:07:12 +0200
commit1e19ffc63dbbaea7a7d1c63d99c38d3e5a4c7edf (patch)
tree357690d6017682a4a21824f7d3f34a83406a136d /kernel/power
parentaffee4b294a0fc97d67c8a77dc080c4dd262a79e (diff)
downloadop-kernel-dev-1e19ffc63dbbaea7a7d1c63d99c38d3e5a4c7edf.zip
op-kernel-dev-1e19ffc63dbbaea7a7d1c63d99c38d3e5a4c7edf.tar.gz
workqueue: implement per-cwq active work limit
Add cwq->nr_active, cwq->max_active and cwq->delayed_work. nr_active counts the number of active works per cwq. A work is active if it's flushable (colored) and is on cwq's worklist. If nr_active reaches max_active, new works are queued on cwq->delayed_work and activated later as works on the cwq complete and decrement nr_active. cwq->max_active can be specified via the new @max_active parameter to __create_workqueue() and is set to 1 for all workqueues for now. As each cwq has only single worker now, this double queueing doesn't cause any behavior difference visible to its users. This will be used to reimplement freeze/thaw and implement shared worker pool. Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'kernel/power')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud