RHEL 9.6 bonding hangs and logs "Voluntary context switch within RCU read-side critical section"
Issue
- After upgrading from RHEL 9.4 to RHEL 9.6, the system won't bring up networking on boot and hangs with an error logged like:
------------[ cut here ]------------
Voluntary context switch within RCU read-side critical section!
WARNING: CPU: 42 PID: 12
PID: 12 TASK: ffff9f2941708000 CPU: 42 COMMAND: "kworker/u288:1"
#0 [ffffbfdfc018bc30] __schedule at ffffffff8a72f879
#1 [ffffbfdfc018bc98] schedule at ffffffff8a72fb2e
#2 [ffffbfdfc018bcb0] synchronize_rcu_expedited at ffffffff89bc7e62
#3 [ffffbfdfc018bd28] dev_deactivate_many at ffffffff8a4f1632
#4 [ffffbfdfc018bd58] dev_deactivate at ffffffff8a4f17df
#5 [ffffbfdfc018bd88] linkwatch_do_dev at ffffffff8a4a4752
#6 [ffffbfdfc018bd98] ethtool_op_get_link at ffffffff8a51474e
#7 [ffffbfdfc018bda8] bond_check_dev_link at ffffffffc133d988 [bonding]
#8 [ffffbfdfc018be10] bond_miimon_inspect at ffffffffc133ea40 [bonding]
#9 [ffffbfdfc018be48] bond_mii_monitor at ffffffffc1347b3f [bonding]
#10 [ffffbfdfc018be88] process_one_work at ffffffff89b35724
#11 [ffffbfdfc018bec8] worker_thread at ffffffff89b362ee
#12 [ffffbfdfc018bf18] kthread at ffffffff89b3eaad
#13 [ffffbfdfc018bf50] ret_from_fork at ffffffff89a08549
Environment
- Red Hat Enterprise Linux 9.6 (
5.14.0-570.17.1.el9_6.x86_64) and above - bonding with
use_carrier=0option ethtoolcommand to change NIC parameters like IRQ channel count
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.