Re: [PATCH v2] workqueue: Warn when work flush own workqueue

From: Dan Carpenter
Date: Tue Aug 25 2020 - 06:05:18 EST


We have asked Markus to stop harrassing people about commit messages but
he refuses so I think he was banned from vger at the start of the month.

On Tue, Aug 25, 2020 at 04:55:52PM +0800, qianli zhao wrote:
> Markus
>
> Thanks for your suggestion,and sorry for my poor wording.
>
> On Tue, Aug 25, 2020 at 4:00 PM Markus Elfring <Markus.Elfring@xxxxxx> wrote:
> >
> > > Flushing own workqueue or work self in work context will lead to
> > > a deadlock.
> >
> > I imagine that the wording “or work self” can become clearer another bit.
> >
> >
> > > Catch this incorrect usage and issue a warning when issue happened
> >
> > * Would you like to mark the end of such a sentence with a dot?
> >
> > * How do you think about to adjust the repetition of the word “issue”?
>
> How about below changelog?
>
> workqueue: Warn when work flush own workqueue
>
> Flushing itself or own workqueue in work context will
> lead to a deadlock.
> Catch this incorrect usage and warning when issue happened.

"If a workqueue flushes itself then that will lead to a deadlock. Print
a warning and a stack trace when this happens."

>
> >
> >
> > …
> > > - update comment
> > > ---
> > > kernel/workqueue.c | 10 +++++++---
> >
> > I suggest to replace these triple dashes by a blank line.
> Ok

This does not matter at all. Keep the dashes or remove them. It
doesn't matter at all.

> >
> >
> > …
> > > @@ -2585,6 +2585,7 @@ static int rescuer_thread(void *__rescuer)
> > > * @target_work: work item being flushed (NULL for workqueue flushes)
> > > *
> > > * %current is trying to flush the whole @target_wq or @target_work on it.
> > > + * If a work flushing own workqueue or itself will lead to a deadlock.
> >
> > I stumble on understanding challenges for the wording “work flushing”.
> > Can an adjustment help in comparison to the term “work item”?
>
> How about below comment?
>
> * If a work item flushing own workqueue or itself will lead to a deadlock.

Write this:

* If a work queue flushes itself, that will lead to a deadlock

regards,
dan carpenter