Public bug reported:

[ SRU Justification ]
A long thread on debian-devel[1] has pointed out that hardware lock elision 
behaves differently (arguably, more correctly) in the face of incorrect pthread 
usage, especially where double-unlocks are concerned.  While this isn't itself 
a bug, it's quite true that we have no way of knowing right now just how many 
third party sources are buggy, and as people are upgrading to hardware that 
supports this feature, more software may crash in the future.

The long-term goal should be to try to ferret out all the bad actors
here, fix them, and re-enable hardware lock elision as the default, but
the sane conservative choice seems to be to just disable the feature
entirely for now, while we (the glibc upstream community) work on making
lock elision a per-process opt-in.

[1] https://lists.debian.org/debian-devel/2016/11/msg00210.html

[ Proposed Fix ]
This SRU will disable lock elision entirely, thus avoiding the problematic 
codepaths.  A future SRU will re-enable building those codepaths, but in such a 
way that they're disabled by default with a per-process environment twiddle to 
enable it on demand.

[ Regression Potential ]
There's a potential for performance regressions, however given that most x86 
users are only just now upgrading to hardware that supports this feature, the 
status quo is that this codepath is dead to most users.  As for s390x and PPC, 
we've had requests to disable lock elision by default on both arches (entirely 
on s390x, conditionally on PPC), and those requests will be somewhat satisfied 
by this SRU, and cleaned up in the future SRU where we integrate the 
upstream-concensus patch to allow it to be conditionally re-enabled.

[ Testing ]
autopkgtest regressions will be our guide here on if this SRU is causing any 
issues.

** Affects: glibc (Ubuntu)
     Importance: Undecided
     Assignee: Adam Conrad (adconrad)
         Status: New

** Affects: glibc (Ubuntu Xenial)
     Importance: Undecided
     Assignee: Adam Conrad (adconrad)
         Status: New

** Affects: glibc (Ubuntu Yakkety)
     Importance: Undecided
     Assignee: Adam Conrad (adconrad)
         Status: New

** Also affects: glibc (Ubuntu Xenial)
   Importance: Undecided
       Status: New

** Also affects: glibc (Ubuntu Yakkety)
   Importance: Undecided
       Status: New

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

Title:
  Disable lock-elision in glibc pending upstream changes

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

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to