On Sun, Mar 31, 2013 at 12:29:14AM +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 wq->freezing > instead and remove POOL_FREEZING. > > Signed-off-by: Lai Jiangshan <la...@cn.fujitsu.com> > --- > kernel/workqueue.c | 33 +++++++-------------------------- > 1 files changed, 7 insertions(+), 26 deletions(-) > > diff --git a/kernel/workqueue.c b/kernel/workqueue.c > index 04a8b98..6b7e5a4 100644 > --- a/kernel/workqueue.c > +++ b/kernel/workqueue.c > @@ -66,7 +66,6 @@ enum { > */ > POOL_MANAGE_WORKERS = 1 << 0, /* need to manage workers */ > POOL_DISASSOCIATED = 1 << 2, /* cpu can't serve workers */ > - POOL_FREEZING = 1 << 3, /* freeze in progress */ > > /* worker flags */ > WORKER_STARTED = 1 << 0, /* started */ > @@ -241,6 +240,7 @@ struct workqueue_struct { > > int nr_drainers; /* WQ: drain in progress */ > int saved_max_active; /* WQ: saved pwq max_active */ > + bool freezing; /* WQ: the wq is freezing */
Why not use another internal flag? There already are __WQ_DRAINING and __WQ_ORDERED. Can't we just add __WQ_FREEZING? Thanks. -- tejun -- 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/