Re: [PATCH] workqueue: add __WQ_FREEZING and remove POOL_FREEZING

2014-04-17 Thread Tejun Heo
On Thu, Apr 17, 2014 at 07:58:55AM +0800, Lai Jiangshan wrote: > > Why are we removing the above? Can't we still test __WQ_FREEZING as > > we're holding wq->mutex? I don't really mind removing the > > optimization but the patch description at least has to explain what's > > going on. > > This

Re: [PATCH] workqueue: add __WQ_FREEZING and remove POOL_FREEZING

2014-04-17 Thread Tejun Heo
On Thu, Apr 17, 2014 at 07:58:55AM +0800, Lai Jiangshan wrote: Why are we removing the above? Can't we still test __WQ_FREEZING as we're holding wq-mutex? I don't really mind removing the optimization but the patch description at least has to explain what's going on. This part was in

Re: [PATCH] workqueue: add __WQ_FREEZING and remove POOL_FREEZING

2014-04-16 Thread Lai Jiangshan
On 04/17/2014 03:51 AM, Tejun Heo wrote: > Hello, > > On Tue, Mar 25, 2014 at 05:56:04PM +0800, Lai Jiangshan wrote: >> freezing is nothing related to pools, but POOL_FREEZING adds a connection, >> and causes freeze_workqueues_begin() and thaw_workqueues() complicated. >> >> Since freezing is

Re: [PATCH] workqueue: add __WQ_FREEZING and remove POOL_FREEZING

2014-04-16 Thread Tejun Heo
On Tue, Mar 25, 2014 at 05:56:04PM +0800, Lai Jiangshan wrote: > + __WQ_FREEZING = 1 << 15, /* internel: workqueue is freezing */ > __WQ_DRAINING = 1 << 16, /* internal: workqueue is draining */ > __WQ_ORDERED= 1 << 17, /* internal: workqueue is

Re: [PATCH] workqueue: add __WQ_FREEZING and remove POOL_FREEZING

2014-04-16 Thread Tejun Heo
Hello, On Tue, Mar 25, 2014 at 05:56:04PM +0800, Lai Jiangshan wrote: > 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

Re: [PATCH] workqueue: add __WQ_FREEZING and remove POOL_FREEZING

2014-04-16 Thread Tejun Heo
Hello, On Tue, Mar 25, 2014 at 05:56:04PM +0800, Lai Jiangshan wrote: 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

Re: [PATCH] workqueue: add __WQ_FREEZING and remove POOL_FREEZING

2014-04-16 Thread Tejun Heo
On Tue, Mar 25, 2014 at 05:56:04PM +0800, Lai Jiangshan wrote: + __WQ_FREEZING = 1 15, /* internel: workqueue is freezing */ __WQ_DRAINING = 1 16, /* internal: workqueue is draining */ __WQ_ORDERED= 1 17, /* internal: workqueue is ordered */

Re: [PATCH] workqueue: add __WQ_FREEZING and remove POOL_FREEZING

2014-04-16 Thread Lai Jiangshan
On 04/17/2014 03:51 AM, Tejun Heo wrote: Hello, On Tue, Mar 25, 2014 at 05:56:04PM +0800, Lai Jiangshan wrote: 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

Re: [PATCH] workqueue: add __WQ_FREEZING and remove POOL_FREEZING

2014-03-27 Thread Tejun Heo
On Thu, Mar 27, 2014 at 08:08:39PM +0800, Lai Jiangshan wrote: > On 03/25/2014 05:56 PM, Lai Jiangshan wrote: > > freezing is nothing related to pools, but POOL_FREEZING adds a connection, > > and causes freeze_workqueues_begin() and thaw_workqueues() complicated. > > > > Since freezing is

Re: [PATCH] workqueue: add __WQ_FREEZING and remove POOL_FREEZING

2014-03-27 Thread Lai Jiangshan
On 03/25/2014 05:56 PM, Lai Jiangshan wrote: > 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

Re: [PATCH] workqueue: add __WQ_FREEZING and remove POOL_FREEZING

2014-03-27 Thread Lai Jiangshan
On 03/25/2014 05:56 PM, Lai Jiangshan wrote: 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

Re: [PATCH] workqueue: add __WQ_FREEZING and remove POOL_FREEZING

2014-03-27 Thread Tejun Heo
On Thu, Mar 27, 2014 at 08:08:39PM +0800, Lai Jiangshan wrote: On 03/25/2014 05:56 PM, Lai Jiangshan wrote: 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

[PATCH] workqueue: add __WQ_FREEZING and remove POOL_FREEZING

2014-03-25 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. we set __WQ_FREEZING

[PATCH] workqueue: add __WQ_FREEZING and remove POOL_FREEZING

2014-03-25 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. we set __WQ_FREEZING only