Workqueues splat due to ending up on wrong CPU
From: Paul E. McKenney
Date: Mon Nov 25 2019 - 18:03:30 EST
Hello!
I am seeing this occasionally during rcutorture runs in the presence
of CPU hotplug. This is on v5.4-rc1 in process_one_work() at the first
WARN_ON():
WARN_ON_ONCE(!(pool->flags & POOL_DISASSOCIATED) &&
raw_smp_processor_id() != pool->cpu);
What should I do to help further debug this?
Thanx, Paul
------------------------------------------------------------------------
[ 7119.309435] WARNING: CPU: 1 PID: 4 at kernel/workqueue.c:2179 process_one_work+0x86/0x510
[ 7119.310449] Modules linked in:
[ 7119.310849] CPU: 1 PID: 4 Comm: rcu_par_gp Not tainted 5.4.0-rc1+ #21
[ 7119.311656] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.11.0-2.el7 04/01/2014
[ 7119.312693] RIP: 0010:process_one_work+0x86/0x510
[ 7119.313250] Code: ee 05 48 89 44 24 10 48 8b 46 38 41 83 e6 01 41 f6 44 24 44 04 48 89 44 24 28 75 10 65 8b 05 39 7d 98 7b 41 3b 44 24 38 74 02 <0f> 0b 48 89 de 4c 89 e7 e8 7d cd ff ff 48 85 c0 0f 85 0e 04 00 00
[ 7119.315555] RSP: 0000:ffff9aba4002fe30 EFLAGS: 00010002
[ 7119.316189] RAX: 0000000000000001 RBX: ffffffff85c65f68 RCX: 0000000000000000
[ 7119.317064] RDX: ffff97a5df22d400 RSI: ffffffff85c65f68 RDI: ffff97a5dec95600
[ 7119.317943] RBP: ffff97a5dec95600 R08: ffffffff85c65f70 R09: ffffffff86856140
[ 7119.318812] R10: 0000000000000000 R11: 0000000000000001 R12: ffff97a5df228a80
[ 7119.319703] R13: ffff97a5df22d400 R14: 0000000000000000 R15: ffff97a5dec95600
[ 7119.320602] FS: 0000000000000000(0000) GS:ffff97a5df240000(0000) knlGS:0000000000000000
[ 7119.321581] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 7119.322301] CR2: 0000000000000148 CR3: 0000000015c1e000 CR4: 00000000000006e0
[ 7119.323188] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 7119.324069] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 7119.324957] Call Trace:
[ 7119.325288] rescuer_thread+0x1b5/0x2e0
[ 7119.325772] kthread+0xf3/0x130
[ 7119.326164] ? worker_thread+0x3c0/0x3c0
[ 7119.326655] ? kthread_cancel_delayed_work_sync+0x10/0x10
[ 7119.327349] ret_from_fork+0x35/0x40
[ 7119.327795] ---[ end trace 6dd6d520676d8e8e ]---