workqueue: separate out pool_workqueue locking into pwq_lock
authorTejun Heo <tj@kernel.org>
Thu, 14 Mar 2013 02:47:40 +0000 (19:47 -0700)
committerTejun Heo <tj@kernel.org>
Thu, 14 Mar 2013 02:47:40 +0000 (19:47 -0700)
commit794b18bc8a3f80445e1f85c9c87c74de9575c93a
tree460e370381780ad497514abc1079f7cd20467ce0
parent5bcab3355a555a9c1bd4becb136cbd3651c8eafa
workqueue: separate out pool_workqueue locking into pwq_lock

This patch continues locking cleanup from the previous patch.  It
breaks out pool_workqueue synchronization from workqueue_lock into a
new spinlock - pwq_lock.  The followings are protected by pwq_lock.

* workqueue->pwqs
* workqueue->saved_max_active

The conversion is straight-forward.  workqueue_lock usages which cover
the above two are converted to pwq_lock.  New locking label PW added
for things protected by pwq_lock and FR is updated to mean flush_mutex
+ pwq_lock + sched-RCU.

This patch shouldn't introduce any visible behavior changes.

Signed-off-by: Tejun Heo <tj@kernel.org>
kernel/workqueue.c