]> git.karo-electronics.de Git - karo-tx-linux.git/commit
workqueue: convert worker_idr to worker_ida
authorLai Jiangshan <laijs@cn.fujitsu.com>
Tue, 20 May 2014 09:46:32 +0000 (17:46 +0800)
committerTejun Heo <tj@kernel.org>
Tue, 20 May 2014 14:59:31 +0000 (10:59 -0400)
commit7cda9aae0596d871a8d7a6888d7b447c60e5ab30
tree5d450fd3e3fa5ea46d888543731bd027074e2961
parentda028469ba173e9c634b6ecf80bb0c69c7d1024d
workqueue: convert worker_idr to worker_ida

We no longer iterate workers via worker_idr and worker_idr is used
only for allocating/freeing ID, so we can convert it to worker_ida.

By using ida_simple_get/remove(), worker_ida doesn't require external
synchronization, so we don't need manager_mutex to protect it and the
ID-removal code is allowed to be moved out from
worker_detach_from_pool().

In a later patch, worker_detach_from_pool() will be used in rescuers
which don't have IDs, so we move the ID-removal code out from
worker_detach_from_pool() into worker_thread().

tj: Minor description updates.

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
kernel/workqueue.c