workqueue: Tag bound workers with KTHREAD_IS_PER_CPU
authorPeter Zijlstra <peterz@infradead.org>
Tue, 12 Jan 2021 10:26:49 +0000 (11:26 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Fri, 22 Jan 2021 14:09:42 +0000 (15:09 +0100)
commit5c25b5ff89f004c30b04759dc34ace8585a4085f
treea2132a7d24a2e50ef4d3703f3c00dbb55ce7a44e
parentac687e6e8c26181a33270efd1a2e2241377924b0
workqueue: Tag bound workers with KTHREAD_IS_PER_CPU

Mark the per-cpu workqueue workers as KTHREAD_IS_PER_CPU.

Workqueues have unfortunate semantics in that per-cpu workers are not
default flushed and parked during hotplug, however a subset does
manual flush on hotplug and hard relies on them for correctness.

Therefore play silly games..

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>
Tested-by: Valentin Schneider <valentin.schneider@arm.com>
Link: https://lkml.kernel.org/r/20210121103506.693465814@infradead.org
kernel/workqueue.c