RHEL 9.6 bonding hangs and logs "Voluntary context switch within RCU read-side critical section"

Solution Verified - Updated -

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=0 option
  • ethtool command 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.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content