Re: [tj-wq:affinity-scopes-dbg-invalid-cpu] [workqueue] e3485721f9: WARNING:at_kernel/workqueue.c:#workqueue_online_cpu

From: Tejun Heo
Date: Mon Jun 12 2023 - 13:42:41 EST


On Mon, Jun 12, 2023 at 10:04:02AM +0800, kernel test robot wrote:
> [ 3.388228][ T21] ------------[ cut here ]------------
> [ 3.394990][ T21] WARNING: CPU: 1 PID: 21 at kernel/workqueue.c:5393 workqueue_online_cpu (kernel/workqueue.c:5393 kernel/workqueue.c:5481)
...
> [ 3.584746][ T21] ? workqueue_prepare_cpu (kernel/workqueue.c:5470)
> [ 3.591752][ T21] ? local_clock (kernel/sched/clock.c:270 kernel/sched/clock.c:307)
> [ 3.596749][ T21] cpuhp_invoke_callback (arch/x86/include/asm/jump_label.h:27 include/linux/jump_label.h:207 include/trace/events/cpuhp.h:65 kernel/cpu.c:193)
> [ 3.603751][ T21] ? try_to_wake_up (include/linux/sched.h:2254 kernel/sched/core.c:4312)
> [ 3.610751][ T21] cpuhp_thread_fun (kernel/cpu.c:815)

This is set_cpus_allowed_ptr() failing on kworkers when workqueue tries to
put back the per-cpu kworkers on the onlining CPU, which is rather
unexpected. Let me include the error code in the warning message so that we
can understand why it fails the next time.

Thanks.

--
tejun