BUG: workqueue lockup - pool cpus=1 node=0 flags=0x0 nice=0 stuck for 32s! Showing busy workqueues and worker pools: workqueue events: flags=0x0 pwq 2: cpus=0 node=0 flags=0x0 nice=0 active=4 refcnt=5 pending: 2*nsim_dev_hwstats_traffic_work, nsim_dev_trap_report_work, vmstat_shepherd pwq 6: cpus=1 node=0 flags=0x0 nice=0 active=7 refcnt=8 in-flight: 3181:nsim_dev_trap_report_work pending: 3*psi_avgs_work, kfree_rcu_monitor, 2*bpf_prog_free_deferred workqueue events_unbound: flags=0x2 pwq 8: cpus=0-1 flags=0x4 nice=0 active=1 refcnt=2 pending: flush_memcg_stats_dwork workqueue events_power_efficient: flags=0x82 pwq 8: cpus=0-1 flags=0x4 nice=0 active=2 refcnt=3 in-flight: 54:wg_ratelimiter_gc_entries ,1082:gc_worker workqueue mm_percpu_wq: flags=0x8 pwq 2: cpus=0 node=0 flags=0x0 nice=0 active=1 refcnt=2 pending: vmstat_update pwq 6: cpus=1 node=0 flags=0x0 nice=0 active=1 refcnt=2 pending: vmstat_update workqueue kblockd: flags=0x18 pwq 3: cpus=0 node=0 flags=0x0 nice=-20 active=1 refcnt=2 pending: blk_mq_timeout_work workqueue wg-kex-wg0: flags=0x24 pwq 6: cpus=1 node=0 flags=0x0 nice=0 active=1 refcnt=2 pending: wg_packet_handshake_receive_worker workqueue wg-crypt-wg0: flags=0x28 pwq 2: cpus=0 node=0 flags=0x0 nice=0 active=1 refcnt=2 pending: wg_packet_encrypt_worker pwq 6: cpus=1 node=0 flags=0x0 nice=0 active=3 refcnt=4 in-flight: 5703:wg_packet_tx_worker pending: wg_packet_encrypt_worker, wg_packet_tx_worker workqueue wg-kex-wg1: flags=0x24 pwq 6: cpus=1 node=0 flags=0x0 nice=0 active=1 refcnt=2 pending: wg_packet_handshake_receive_worker workqueue wg-crypt-wg1: flags=0x28 pwq 6: cpus=1 node=0 flags=0x0 nice=0 active=3 refcnt=4 pending: wg_packet_decrypt_worker, wg_packet_encrypt_worker, wg_packet_tx_worker workqueue wg-kex-wg2: flags=0x24 pwq 6: cpus=1 node=0 flags=0x0 nice=0 active=1 refcnt=2 pending: wg_packet_handshake_receive_worker workqueue wg-crypt-wg2: flags=0x28 pwq 6: cpus=1 node=0 flags=0x0 nice=0 active=2 refcnt=3 pending: wg_packet_decrypt_worker, wg_packet_tx_worker workqueue wg-crypt-wg0: flags=0x28 pwq 6: cpus=1 node=0 flags=0x0 nice=0 active=2 refcnt=3 pending: wg_packet_tx_worker, wg_packet_encrypt_worker workqueue wg-crypt-wg1: flags=0x28 pwq 6: cpus=1 node=0 flags=0x0 nice=0 active=3 refcnt=4 pending: wg_packet_encrypt_worker, wg_packet_tx_worker, wg_packet_decrypt_worker workqueue wg-crypt-wg2: flags=0x28 pwq 6: cpus=1 node=0 flags=0x0 nice=0 active=3 refcnt=4 pending: wg_packet_encrypt_worker, wg_packet_decrypt_worker, wg_packet_tx_worker pool 6: cpus=1 node=0 flags=0x0 nice=0 hung=32s workers=5 idle: 3318 27 3180 pool 8: cpus=0-1 flags=0x4 nice=0 hung=0s workers=6 idle: 3986 10 26 928 Showing backtraces of running workers in stalled CPU-bound worker pools: pool 6: task:kworker/1:0 state:R running task stack:0 pid:5703 tgid:5703 ppid:2 flags:0x00000008 Workqueue: wg-crypt-wg0 wg_packet_tx_worker Call trace: __switch_to+0x1c8/0x2a0 arch/arm64/kernel/process.c:553 context_switch kernel/sched/core.c:5409 [inline] __schedule+0xad8/0x2b14 kernel/sched/core.c:6746 preempt_schedule_common kernel/sched/core.c:6925 [inline] preempt_schedule+0xf4/0x254 kernel/sched/core.c:6949 __local_bh_enable_ip+0x380/0x4a0 kernel/softirq.c:389 __raw_read_unlock_bh include/linux/rwlock_api_smp.h:257 [inline] _raw_read_unlock_bh+0x44/0x54 kernel/locking/spinlock.c:284 wg_socket_send_skb_to_peer+0xf0/0x188 drivers/net/wireguard/socket.c:184 wg_packet_create_data_done drivers/net/wireguard/send.c:251 [inline] wg_packet_tx_worker+0x128/0x4e8 drivers/net/wireguard/send.c:276 process_one_work+0x78c/0x1898 kernel/workqueue.c:3254 process_scheduled_works kernel/workqueue.c:3335 [inline] worker_thread+0x764/0xc24 kernel/workqueue.c:3416 kthread+0x27c/0x300 kernel/kthread.c:388 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:860 pool 6: task:kworker/1:3 state:R running task stack:0 pid:3181 tgid:3181 ppid:2 flags:0x00000008 Workqueue: events nsim_dev_trap_report_work Call trace: __switch_to+0x1c8/0x2a0 arch/arm64/kernel/process.c:553 context_switch kernel/sched/core.c:5409 [inline] __schedule+0xad8/0x2b14 kernel/sched/core.c:6746 preempt_schedule_common kernel/sched/core.c:6925 [inline] preempt_schedule+0xf4/0x254 kernel/sched/core.c:6949 __raw_spin_unlock include/linux/spinlock_api_smp.h:143 [inline] _raw_spin_unlock+0x6c/0x84 kernel/locking/spinlock.c:186 spin_unlock include/linux/spinlock.h:391 [inline] nsim_dev_trap_report drivers/net/netdevsim/dev.c:823 [inline] nsim_dev_trap_report_work+0x6c4/0xa40 drivers/net/netdevsim/dev.c:850 process_one_work+0x78c/0x1898 kernel/workqueue.c:3254 process_scheduled_works kernel/workqueue.c:3335 [inline] worker_thread+0x764/0xc24 kernel/workqueue.c:3416 kthread+0x27c/0x300 kernel/kthread.c:388 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:860