This has been resolved with the following commits upstream:

commit d133166146333e1f13fc81c0e6c43c8d99290a8a
Author: Will Deacon <will.dea...@arm.com>

    locking/qrwlock: Prevent slowpath writers getting held up by
fastpath

commit 087133ac90763cd339b6b67f2998f87dcc136c52
Author: Will Deacon <will.dea...@arm.com>

    locking/qrwlock, arm64: Move rwlock implementation over to qrwlocks

commit b519b56e378ee82caf9b079b04f5db87dedc3251
Author: Will Deacon <will.dea...@arm.com>

    locking/qrwlock: Use atomic_cond_read_acquire() when spinning in
qrwlock

commit 4df714be4dcf40bfb0d4af0f851a6e1977afa02e
Author: Will Deacon <will.dea...@arm.com>

    locking/atomic: Add atomic_cond_read_acquire()

commit e0d02285f16e8d5810f3d5d5e8a5886ca0015d3b
Author: Will Deacon <will.dea...@arm.com>

    locking/qrwlock: Use 'struct qrwlock' instead of 'struct __qrwlock

-- 
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:
  Confirmed
Status in linux source package in Artful:
  Confirmed

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 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

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     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to