[PATCH 00/11 V5] workqueue: reimplement unbind/rebind

From: Lai Jiangshan
Date: Wed Sep 05 2012 - 06:38:45 EST


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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/