On 2/11/22 21:31, Tetsuo Handa wrote:
But this report might be suggesting us that we should consider deprecating (and eventually getting rid of) system-wide workqueues (declared in include/linux/workqueue.h), for since flush_workqueue() synchronously waits for completion, sharing system-wide workqueues among multiple modules can generate unexpected locking dependency chain (like this report).
I do not agree with deprecating system-wide workqueues. I think that all flush_workqueue(system_long_wq) calls should be reviewed since these are deadlock-prone.
Thanks, Bart.