Messages in this thread | | | From | Lai Jiangshan <> | Subject | [PATCH 00/11 V5] workqueue: reimplement unbind/rebind | Date | Wed, 5 Sep 2012 18:37:37 +0800 |
| |
Patch 2 a different way to fix deadlock problem. it removes 50 LOC !! Patch 3-4 cleanup rebind
Patch 5-9 prepare for patch 10 Patch 10 unbind/rebind without manager_mutex, fix bug hotplug VS manage
The first core algorithm for 5-10 is detecting the changes of binding by GCWQ_DISASSOCIATED bit and WORKER_UNBOUND bit. The second core algorithm is exile-operation. Patch2,9
Patch 11 cleanup manager.
Patch 1 accepted, just resent.
Changed from V4: Give up to make manage_mutex safer, remove it instead.
Lai Jiangshan (11): workqueue: ensure the wq_worker_sleeping() see the right flags async idle rebinding new day don't need WORKER_REBIND for busy worker remove WORKER_REBIND Add @bind arguement back unbind manager rebind manager unbind newly created worker rebind newly created worker unbind/rebind without manager_mutex remove manager_mutex
kernel/workqueue.c | 270 ++++++++++++++++++++++++---------------------------- 1 files changed, 124 insertions(+), 146 deletions(-)
-- 1.7.4.4
| |