workqueue: more destroy_workqueue() fixes
authorTejun Heo <tj@kernel.org>
Mon, 23 Sep 2019 18:08:58 +0000 (11:08 -0700)
committerTejun Heo <tj@kernel.org>
Fri, 4 Oct 2019 17:23:01 +0000 (10:23 -0700)
commitc29eb85386880750130a01aabf288408a6614d65
treea1611859442a41355f2182432afb2bec93921d01
parent30ae2fc0a75eb5f1a38bbee7355d8e3bc823a6e1
workqueue: more destroy_workqueue() fixes

destroy_workqueue() warnings still, at a lower frequency, trigger
spuriously.  The problem seems to be in-flight operations which
haven't reached put_pwq() yet.

* Make sanity check grab all the related locks so that it's
  synchronized against operations which puts pwq at the end.

* Always print out the offending pwq.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: "Williams, Gerald S" <gerald.s.williams@intel.com>
kernel/workqueue.c