** Also affects: ubuntu-z-systems
   Importance: Undecided
       Status: New

** Changed in: ubuntu-z-systems
       Status: New => Triaged

** Changed in: ubuntu-z-systems
   Importance: Undecided => High

** Changed in: ubuntu-z-systems
     Assignee: (unassigned) => Canonical Kernel Team (canonical-kernel-team)

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

Title:
  [Ubuntu 16.04] kernel: fix rwlock implementation

Status in Ubuntu on IBM z Systems:
  Triaged
Status in linux package in Ubuntu:
  New

Bug description:
  Description:  kernel: fix rwlock implementation
  Symptom:      Kernel hangs, due to deadlock on an rwlock.
  Problem:      With upstream commit 94232a4332de ("s390/rwlock: improve writer
                fairness") rwlock writer fairness was supposed to be
                implemented. If a writer tries to take an rwlock it sets
                unconditionally the writer bit within the lock word and waits
                until all readers have released the lock. This however can lead
                to a deadlock since rwlocks can be taken recursively by readers.
                If e.g. CPU 0 holds the lock as a reader, and CPU 1 wants to
                write-lock the lock, then CPU 1 sets the writer bit and
                afterwards busy waits for CPU 0 to release the lock. If now CPU 0
                tries to read-lock the lock again (recursively) it will also 
busy
                wait until CPU 1 removes the writer bit, which will never 
happen,
                since it waits for the first reader on CPU 0 to release the 
lock.
  Solution:     Revert the rwlock writer fairness semantics again.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1761674/+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