Messages in this thread | | | From | Lai Jiangshan <> | Date | Fri, 29 May 2020 13:33:11 +0800 | Subject | Re: [PATCH 1/2] workqueue: pin the pool while it is managing |
| |
On Thu, May 28, 2020 at 10:35 PM Tejun Heo <tj@kernel.org> wrote: > > Hello, > > On Thu, May 28, 2020 at 03:06:55AM +0000, Lai Jiangshan wrote: > > @@ -2129,10 +2128,21 @@ __acquires(&pool->lock) > > static bool manage_workers(struct worker *worker) > > { > > struct worker_pool *pool = worker->pool; > > + struct work_struct *work = list_first_entry(&pool->worklist, > > + struct work_struct, entry); > > I'm not sure about this. It's depending on an external condition (active > work item) which isn't obvious and when that condition breaks the resulting > bug will be one which is difficult to reproduce. Adding to that, pwq isn't > even the object this code path is interested in, which is the cause of the > previous problem too.
Ok, I agree with you.
Thanks Lai
| |