drm/linux: Rewrite the workqueue implementation
commitc17dd299cec907bb472a1f824300cad3290019b3
authorFrançois Tigeot <ftigeot@wolfpond.org>
Wed, 11 Nov 2020 19:49:32 +0000 (11 20:49 +0100)
committerFrançois Tigeot <ftigeot@wolfpond.org>
Wed, 11 Nov 2020 19:49:32 +0000 (11 20:49 +0100)
treef59b8a30877020a1d62528034c0be961c1d05ea2
parentce3b43504848004321e2876c06f8177df869b470
drm/linux: Rewrite the workqueue implementation

Most workqueues now use one runner thread per logical CPU, except for
WQ_UNBOUND ones, which only have a single kernel thread.

This commit contains critical fixes from Matthew Dillon for multithread
interaction issues in queue_work() and the cancel functions.
sys/dev/drm/include/linux/workqueue.h
sys/dev/drm/linux_workqueue.c