** Changed in: linux (Ubuntu)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1732238
Title:
arm64: Unfair rwlock can stall the system
Status in linux package in Ubuntu:
Fix Released
Status in linux source package in Artful:
Fix Released
Bug description:
[Impact]
There is a long-standing upstream bug with the ARM64 specific implementation
of RW locks. The implementation can starve writers under lock contention
leading to RCU stalls, driver timeouts and general system instability.
[Test Case]
$ stress-ng --kill 0 -t 300 -v
You'll see the console fill with messages like:
[ 2534.423119] INFO: rcu_sched detected stalls on CPUs/tasks:
[ 2534.428606] 192-...: (1 ticks this GP) idle=b6e/140000000000000/0
softirq=578/578 fqs=6770
[ 2534.437029] (detected by 0, t=15005 jiffies, g=1479, c=1478, q=473)
[ 2714.623691] INFO: rcu_sched detected stalls on CPUs/tasks:
[ 2714.629181] 192-...: (1 ticks this GP) idle=b6e/140000000000000/0
softirq=578/578 fqs=12819
[ 2714.637692] (detected by 116, t=60058 jiffies, g=1479, c=1478,
q=1736)
[ 2747.216955] watchdog: BUG: soft lockup - CPU#0 stuck for 22s!
[kworker/0:5:1464]
[ 2775.399061] watchdog: BUG: soft lockup - CPU#13 stuck for 123s!
[systemd-network:2936]
[Regression Risk]
The proposed fix for this comprises clean cherry-picks from the v4.15 merge
window. The code modified for this fix is restricted to x86 & arm64, as they
are the only Ubuntu architectures that define ARCH_USE_QUEUED_LOCKS. Fix
verified on a 228 CPU arm64 (ThunderX2) server and regression tested on a
128-cpu x86 system using stress-ng and locktorture.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1732238/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp