** Description changed:

  [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]
- TBD
+ 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.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1732238

Title:
  arm64: Unfair rwlock can stall the system

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1732238/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to