Re: [syzbot] possible deadlock in worker_thread

From: Fabio M. De Francesco
Date: Thu Feb 17 2022 - 07:27:15 EST


On lunedì 14 febbraio 2022 04:44:25 CET Tejun Heo wrote:
> Hello,
>
> On Mon, Feb 14, 2022 at 10:08:00AM +0900, Tetsuo Handa wrote:
> > + destroy_workqueue(srp_tl_err_wq);
> >
> > Then, we can call WARN_ON() if e.g. flush_workqueue() is called on system-wide workqueues.
>
> Yeah, this is the right thing to do. It makes no sense at all to call
> flush_workqueue() on the shared workqueues as the caller has no idea what
> it's gonna end up waiting for. It was on my todo list a long while ago but
> slipped through the crack. If anyone wanna take a stab at it (including
> scrubbing the existing users, of course), please be my guest.
>

Just to think and understand... what if the system-wide WQ were allocated as unbound
ordered (i.e., as in alloc_ordered_workqueue()) with "max_active" of one?

1) Would it solve the locks dependency problem?
2) Would it introduce performance penalties (bottlenecks)?

Greetings,

Fabio

>
> Thanks.
>
> --
> tejun
>