Re: [PATCH V3] workqueue: unfold start_worker() into create_worker()

2014-07-22 Thread Tejun Heo
On Tue, Jul 22, 2014 at 01:03:02PM +0800, Lai Jiangshan wrote: > Simply unfold the code of start_worker() into create_worker() and > remove the original start_worker() and create_and_start_worker(). > > The only trade-off is the introduced overhead that the pool->lock > is released and regrabbed

Re: [PATCH V3] workqueue: unfold start_worker() into create_worker()

2014-07-22 Thread Tejun Heo
On Tue, Jul 22, 2014 at 01:03:02PM +0800, Lai Jiangshan wrote: Simply unfold the code of start_worker() into create_worker() and remove the original start_worker() and create_and_start_worker(). The only trade-off is the introduced overhead that the pool-lock is released and regrabbed after

[PATCH V3] workqueue: unfold start_worker() into create_worker()

2014-07-21 Thread Lai Jiangshan
Simply unfold the code of start_worker() into create_worker() and remove the original start_worker() and create_and_start_worker(). The only trade-off is the introduced overhead that the pool->lock is released and regrabbed after the newly worker is started. The overhead is acceptible since the

[PATCH V3] workqueue: unfold start_worker() into create_worker()

2014-07-21 Thread Lai Jiangshan
Simply unfold the code of start_worker() into create_worker() and remove the original start_worker() and create_and_start_worker(). The only trade-off is the introduced overhead that the pool-lock is released and regrabbed after the newly worker is started. The overhead is acceptible since the