Current kworker prefer creating worker (if required) to processing work items, we hope the processing should be the first priority.
The jobs in managers are serialized, it is just wasting if we have multiple managers, only one worker-creater is enough. It causes much complication and tricky when manager is implemented inside worker, using dedicated creater will make things more flexible. So we offload the worker-management out from kworker into a single dedicated creater kthread. It is done in patch2. And the patch1 is preparation and patch3 is cleanup patch. Lai Jiangshan (3): workqueue: migrate the new worker before add it to idle_list workqueue: use dedicated creater kthread for all pools workqueue: cleanup may_start_working() kernel/workqueue.c | 228 ++++++++++++++++++++++------------------------------ 1 files changed, 96 insertions(+), 132 deletions(-) -- 1.7.4.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/