Re: [PATCH 1/7] workqueue: add __WQ_FREEZING and remove POOL_FREEZING

2013-04-20 Thread Tejun Heo
On Sun, Apr 21, 2013 at 12:12:14AM +0800, Lai Jiangshan wrote: > > I want an assertion here. > > freezing codes is very simple for verifying. I still want it (and your patch is removing it). The usual cases are fine but things can get messy on edge cases like freeze failure, bugs in freezer code

Re: [PATCH 1/7] workqueue: add __WQ_FREEZING and remove POOL_FREEZING

2013-04-20 Thread Lai Jiangshan
Please forget all my other patches. But these 1/7 and 2/7 __WQ_FREEZING patches can be in 3.10 On Thu, Apr 4, 2013 at 10:12 PM, Tejun Heo wrote: > Hello, Lai. > > On Thu, Apr 04, 2013 at 10:05:32AM +0800, Lai Jiangshan wrote: >> @@ -4757,25 +4747,16 @@ void thaw_workqueues(void) >> { >> s

Re: [PATCH 1/7] workqueue: add __WQ_FREEZING and remove POOL_FREEZING

2013-04-04 Thread Tejun Heo
Hello, Lai. On Thu, Apr 04, 2013 at 10:05:32AM +0800, Lai Jiangshan wrote: > @@ -4757,25 +4747,16 @@ void thaw_workqueues(void) > { > struct workqueue_struct *wq; > struct pool_workqueue *pwq; > - struct worker_pool *pool; > - int pi; > > mutex_lock(&wq_pool_mutex); >

[PATCH 1/7] workqueue: add __WQ_FREEZING and remove POOL_FREEZING

2013-04-03 Thread Lai Jiangshan
freezing is nothing related to pools, but POOL_FREEZING adds a connection, and causes freeze_workqueues_begin() and thaw_workqueues() complicated. Since freezing is workqueue instance attribute, so we introduce __WQ_FREEZING to wq->flags instead and remove POOL_FREEZING. Signed-off-by: Lai Jiangs