Messages in this thread | | | From | richard clark <> | Date | Fri, 25 Nov 2022 11:01:54 +0800 | Subject | Re: [PATCH] workqueue: Remove the unbound release work from the per-cpu type |
| |
Hi Tejun,
Would you pls help take a look at this? Or point to someone who is maintaining the workqueue subsystem, I can ping him/her...
Richard
On Wed, Nov 23, 2022 at 5:51 PM Richard Clark <richard.xnu.clark@gmail.com> wrote: > > Both the per-cpu and unbound workqueue will call init_pwq(...) currently, > the latter will init an unbound release work for the pwq which is unnecessary > for the per-cpu type workqueue. > This commit will remove this work item from the per-cpu workqueue by checking the > wq->flags in init_pwq(...), the work is still reserved for the unbound workqueue. > > Signed-off-by: Richard Clark <richard.xnu.clark@gmail.com> > Cc: Tejun Heo <tj@kernel.org> > Cc: Lai Jiangshan <jiangshanlai@gmail.com> > --- > kernel/workqueue.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/kernel/workqueue.c b/kernel/workqueue.c > index 7cd5f5e7e0a1..01bdfb74081e 100644 > --- a/kernel/workqueue.c > +++ b/kernel/workqueue.c > @@ -3807,7 +3807,8 @@ static void init_pwq(struct pool_workqueue *pwq, struct workqueue_struct *wq, > INIT_LIST_HEAD(&pwq->inactive_works); > INIT_LIST_HEAD(&pwq->pwqs_node); > INIT_LIST_HEAD(&pwq->mayday_node); > - INIT_WORK(&pwq->unbound_release_work, pwq_unbound_release_workfn); > + if (wq->flags & WQ_UNBOUND) > + INIT_WORK(&pwq->unbound_release_work, pwq_unbound_release_workfn); > } > > /* sync @pwq with the current state of its associated wq and link it */ > -- > 2.37.2 >
| |