BUG: workqueue lockup - pool cpus=1 node=0 flags=0x0 nice=0 stuck for 41s! BUG: workqueue lockup - pool cpus=1 node=0 flags=0x0 nice=-20 stuck for 53s! Showing busy workqueues and worker pools: workqueue events: flags=0x0 pwq 6: cpus=1 node=0 flags=0x0 nice=0 active=12 refcnt=13 in-flight: 6594:reg_todo pending: psi_avgs_work, 3*nsim_dev_hwstats_traffic_work, free_obj_work, delayed_vfree_work, 3*psi_avgs_work, 2*ovs_dp_masks_rebalance workqueue events_highpri: flags=0x10 pwq 7: cpus=1 node=0 flags=0x0 nice=-20 active=1 refcnt=2 pending: fill_page_cache_func workqueue events_long: flags=0x0 pwq 6: cpus=1 node=0 flags=0x0 nice=0 active=4 refcnt=5 pending: 4*defense_work_handler workqueue events_power_efficient: flags=0x82 pwq 8: cpus=0-1 flags=0x4 nice=0 active=2 refcnt=3 in-flight: 2222:reg_check_chans_work ,1790:crda_timeout_work workqueue mm_percpu_wq: flags=0x8 pwq 6: cpus=1 node=0 flags=0x0 nice=0 active=1 refcnt=2 pending: vmstat_update workqueue kblockd: flags=0x18 pwq 7: cpus=1 node=0 flags=0x0 nice=-20 active=2 refcnt=3 pending: 2*blk_mq_timeout_work workqueue krxrpcd: flags=0x2001a pwq 9: cpus=0-1 node=0 flags=0x4 nice=-20 active=1 refcnt=4 pending: rxrpc_peer_keepalive_worker workqueue bat_events: flags=0x6000a pwq 8: cpus=0-1 flags=0x4 nice=0 active=1 refcnt=47 in-flight: 4275(RESCUER):batadv_dat_purge inactive: 3*batadv_tt_purge, batadv_dat_purge, batadv_bla_periodic_work, batadv_nc_worker, 2*batadv_dat_purge, 2*batadv_bla_periodic_work, batadv_dat_purge, batadv_bla_periodic_work, 3*batadv_nc_worker, 5*batadv_mcast_mla_update, 4*batadv_iv_send_outstanding_bat_ogm_packet, 5*batadv_purge_orig, 11*batadv_iv_send_outstanding_bat_ogm_packet, batadv_nc_worker, batadv_tt_purge 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_decrypt_worker, wg_packet_tx_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 workqueue wg-crypt-wg0: flags=0x28 pwq 6: cpus=1 node=0 flags=0x0 nice=0 active=3 refcnt=4 in-flight: 26:wg_packet_tx_worker wg_packet_tx_worker pending: 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-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=3 refcnt=4 pending: wg_packet_decrypt_worker, wg_packet_encrypt_worker, wg_packet_tx_worker workqueue wg-kex-wg0: flags=0x24 pwq 6: cpus=1 node=0 flags=0x0 nice=0 active=1 refcnt=2 in-flight: 2276:wg_packet_handshake_receive_worker workqueue wg-crypt-wg0: flags=0x28 pwq 6: cpus=1 node=0 flags=0x0 nice=0 active=3 refcnt=4 in-flight: 6583:wg_packet_tx_worker wg_packet_tx_worker pending: 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-kex-wg2: flags=0x24 pwq 6: cpus=1 node=0 flags=0x0 nice=0 active=2 refcnt=3 in-flight: 6565:wg_packet_handshake_receive_worker pending: wg_packet_handshake_receive_worker workqueue wg-kex-wg2: flags=0x6 pwq 8: cpus=0-1 flags=0x4 nice=0 active=1 refcnt=2 in-flight: 6656:wg_packet_handshake_send_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 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 6: cpus=1 node=0 flags=0x0 nice=0 active=3 refcnt=4 pending: wg_packet_decrypt_worker, 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_tx_worker, wg_packet_encrypt_worker, wg_packet_decrypt_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=3 refcnt=4 pending: wg_packet_decrypt_worker, wg_packet_encrypt_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-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_tx_worker, wg_packet_encrypt_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=3 refcnt=4 pending: wg_packet_decrypt_worker, wg_packet_encrypt_worker, wg_packet_tx_worker pool 6: cpus=1 node=0 flags=0x0 nice=0 hung=41s workers=9 idle: 24 6628 6598 6599 pool 8: cpus=0-1 flags=0x4 nice=0 hung=0s workers=13 idle: 12 8465 258 42 14 8468 8467 6645 2244 41 Showing backtraces of running workers in stalled CPU-bound worker pools: pool 6: task:kworker/1:2 state:R running task stack:0 pid:2276 tgid:2276 ppid:2 task_flags:0x4208060 flags:0x00000010 Workqueue: wg-kex-wg0 wg_packet_handshake_receive_worker Call trace: __switch_to+0x418/0x87c arch/arm64/kernel/process.c:741 (T) context_switch kernel/sched/core.c:5357 [inline] __schedule+0x13b0/0x2864 kernel/sched/core.c:6961 preempt_schedule_common+0xe0/0x194 kernel/sched/core.c:7145 preempt_schedule+0x60/0x80 kernel/sched/core.c:7169 __local_bh_enable_ip+0x20c/0x35c kernel/softirq.c:414 __raw_spin_unlock_bh include/linux/spinlock_api_smp.h:167 [inline] _raw_spin_unlock_bh+0x3c/0x4c kernel/locking/spinlock.c:210 spin_unlock_bh include/linux/spinlock.h:396 [inline] wg_packet_send_staged_packets+0x1d0/0x1288 drivers/net/wireguard/send.c:352 wg_packet_send_keepalive+0x140/0x240 drivers/net/wireguard/send.c:239 wg_receive_handshake_packet drivers/net/wireguard/receive.c:186 [inline] wg_packet_handshake_receive_worker+0x550/0xc20 drivers/net/wireguard/receive.c:213 process_one_work+0x7e8/0x155c kernel/workqueue.c:3236 process_scheduled_works kernel/workqueue.c:3319 [inline] worker_thread+0x958/0xed8 kernel/workqueue.c:3400 kthread+0x5fc/0x75c kernel/kthread.c:463 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:844 pool 6: task:kworker/1:1 state:R running task stack:0 pid:26 tgid:26 ppid:2 task_flags:0x4208060 flags:0x00000010 Workqueue: wg-crypt-wg0 wg_packet_tx_worker Call trace: __switch_to+0x418/0x87c arch/arm64/kernel/process.c:741 (T) context_switch kernel/sched/core.c:5357 [inline] __schedule+0x13b0/0x2864 kernel/sched/core.c:6961 preempt_schedule_common+0xe0/0x194 kernel/sched/core.c:7145 preempt_schedule+0x60/0x80 kernel/sched/core.c:7169 __local_bh_enable_ip+0x20c/0x35c kernel/softirq.c:414 local_bh_enable+0x28/0x34 include/linux/bottom_half.h:33 rcu_read_unlock_bh include/linux/rcupdate.h:910 [inline] keep_key_fresh drivers/net/wireguard/send.c:135 [inline] wg_packet_create_data_done drivers/net/wireguard/send.c:259 [inline] wg_packet_tx_worker+0x634/0x6c8 drivers/net/wireguard/send.c:276 process_one_work+0x7e8/0x155c kernel/workqueue.c:3236 process_scheduled_works kernel/workqueue.c:3319 [inline] worker_thread+0x958/0xed8 kernel/workqueue.c:3400 kthread+0x5fc/0x75c kernel/kthread.c:463 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:844 pool 6: task:kworker/1:4 state:R running task stack:0 pid:6583 tgid:6583 ppid:2 task_flags:0x4208060 flags:0x00000010 Workqueue: wg-crypt-wg0 wg_packet_tx_worker Call trace: __switch_to+0x418/0x87c arch/arm64/kernel/process.c:741 (T) context_switch kernel/sched/core.c:5357 [inline] __schedule+0x13b0/0x2864 kernel/sched/core.c:6961 preempt_schedule_common+0xe0/0x194 kernel/sched/core.c:7145 preempt_schedule+0x60/0x80 kernel/sched/core.c:7169 __local_bh_enable_ip+0x20c/0x35c kernel/softirq.c:414 __raw_read_unlock_bh include/linux/rwlock_api_smp.h:257 [inline] _raw_read_unlock_bh+0x3c/0x4c kernel/locking/spinlock.c:284 wg_socket_send_skb_to_peer+0x154/0x1a4 drivers/net/wireguard/socket.c:184 wg_packet_create_data_done drivers/net/wireguard/send.c:251 [inline] wg_packet_tx_worker+0x19c/0x6c8 drivers/net/wireguard/send.c:276 process_one_work+0x7e8/0x155c kernel/workqueue.c:3236 process_scheduled_works kernel/workqueue.c:3319 [inline] worker_thread+0x958/0xed8 kernel/workqueue.c:3400 kthread+0x5fc/0x75c kernel/kthread.c:463 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:844 pool 6: task:kworker/1:3 state:R running task stack:0 pid:6565 tgid:6565 ppid:2 task_flags:0x4208060 flags:0x00000010 Workqueue: wg-kex-wg2 wg_packet_handshake_receive_worker Call trace: __switch_to+0x418/0x87c arch/arm64/kernel/process.c:741 (T) context_switch kernel/sched/core.c:5357 [inline] __schedule+0x13b0/0x2864 kernel/sched/core.c:6961 preempt_schedule_common+0xe0/0x194 kernel/sched/core.c:7145 preempt_schedule+0x60/0x80 kernel/sched/core.c:7169 __local_bh_enable_ip+0x20c/0x35c kernel/softirq.c:414 local_bh_enable+0x28/0x34 include/linux/bottom_half.h:33 rcu_read_unlock_bh include/linux/rcupdate.h:910 [inline] wg_noise_handshake_begin_session+0x6cc/0x9c0 drivers/net/wireguard/noise.c:856 wg_receive_handshake_packet drivers/net/wireguard/receive.c:176 [inline] wg_packet_handshake_receive_worker+0x530/0xc20 drivers/net/wireguard/receive.c:213 process_one_work+0x7e8/0x155c kernel/workqueue.c:3236 process_scheduled_works kernel/workqueue.c:3319 [inline] worker_thread+0x958/0xed8 kernel/workqueue.c:3400 kthread+0x5fc/0x75c kernel/kthread.c:463 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:844 pool 6: task:kworker/1:5 state:R running task stack:0 pid:6594 tgid:6594 ppid:2 task_flags:0x4208060 flags:0x00000010 Workqueue: events reg_todo Call trace: __switch_to+0x418/0x87c arch/arm64/kernel/process.c:741 (T) context_switch kernel/sched/core.c:5357 [inline] __schedule+0x13b0/0x2864 kernel/sched/core.c:6961 __schedule_loop kernel/sched/core.c:7043 [inline] schedule+0xb4/0x230 kernel/sched/core.c:7058 schedule_preempt_disabled+0x18/0x2c kernel/sched/core.c:7115 __mutex_lock_common+0xd04/0x2678 kernel/locking/mutex.c:676 __mutex_lock kernel/locking/mutex.c:760 [inline] mutex_lock_nested+0x2c/0x38 kernel/locking/mutex.c:812 class_wiphy_constructor include/net/cfg80211.h:6212 [inline] reg_process_self_managed_hints+0xc8/0x1dc net/wireless/reg.c:3209 reg_todo+0x834/0x968 net/wireless/reg.c:3222 process_one_work+0x7e8/0x155c kernel/workqueue.c:3236 process_scheduled_works kernel/workqueue.c:3319 [inline] worker_thread+0x958/0xed8 kernel/workqueue.c:3400 kthread+0x5fc/0x75c kernel/kthread.c:463 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:844