workqueue: introduce system_highpri_wq
authorJoonsoo Kim <js1304@gmail.com>
Wed, 15 Aug 2012 14:25:39 +0000 (23:25 +0900)
committerTejun Heo <tj@kernel.org>
Thu, 16 Aug 2012 21:21:15 +0000 (14:21 -0700)
commit1aabe902ca3638d862bf0dad5a697d3a8e046b0a
tree9cd5e0db2c42e83de8dfadb38e22b57d8bd24c4b
parente42986de481238204f6e0b0f4434da428895c20b
workqueue: introduce system_highpri_wq

Commit 3270476a6c0ce322354df8679652f060d66526dc ('workqueue: reimplement
WQ_HIGHPRI using a separate worker_pool') introduce separate worker pool
for HIGHPRI. When we handle busyworkers for gcwq, it can be normal worker
or highpri worker. But, we don't consider this difference in rebind_workers(),
we use just system_wq for highpri worker. It makes mismatch between
cwq->pool and worker->pool.

It doesn't make error in current implementation, but possible in the future.
Now, we introduce system_highpri_wq to use proper cwq for highpri workers
in rebind_workers(). Following patch fix this issue properly.

tj: Even apart from rebinding, having system_highpri_wq generally
    makes sense.

Signed-off-by: Joonsoo Kim <js1304@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
kernel/workqueue.c