workqueue: deprecate WQ_NON_REENTRANT
WQ_NON_REENTRANT is now spurious. Make alloc_workqueue() trigger
WARN_ON() if the flag is specified and drop it from all in-kernel
users.
If you're cc'd and wondering what's going on: Now all workqueues are
non-reentrant, so there's no reason to use WQ_NON_REENTRANT.
Some of the conversions in this patch aren't trivial.
* WQ_UNBOUND | WQ_NON_REENTRANT workqueues w/ max_active == 1 are
converted to alloc_ordered_workqueue().
* NFC was using a lot of WQ_UNBOUND | WQ_NON_REENTRANT |
WQ_MEM_RECLAIM workqueues w/ max_active == 1. I converted them to
alloc_ordered_workqueue() but can't understand why NFC would need
the reclaim flag at all. I added comments above all such
occurrences. If I'm missing something, please let me know;
otherwise, please drop the flag. Better, please try to use
system_wq instead.
* drivers/staging/nvec doesn't seem to need its own workqueue.
Converted to use system_wq and cancel work items on unload. Plesae
scream if it's wrong.
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Alasdair Kergon <agk@redhat.com>
Cc: Lauro Ramos Venancio <lauro.venancio@openbossa.org>
Cc: Aloisio Almeida Jr <aloisio.almeida@openbossa.org>
Cc: Samuel Ortiz <sameo@linux.intel.com>
Cc: Julian Andres Klode <jak@jak-linux.org>
Cc: Marc Dietrich <marvin24@gmx.de>
Cc: Rob Clark <rob@ti.com>
Cc: Christine Caulfield <ccaulfie@redhat.com>
Cc: Steven Whitehouse <swhiteho@redhat.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Sage Weil <sage@inktank.com>
21 files changed