Bug 1779341

Summary: Build Python with -fno-semantic-interposition for better performance
Product: [Fedora] Fedora Reporter: Ben Cotton <bcotton>
Component: Changes TrackingAssignee: Charalampos Stratakis <cstratak>
Status: CLOSED NEXTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 32CC: bcotton, cstratak, mhroncok, python-maint, vstinner
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python3-3.8.0-3.fc32 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-04-18 11:46:27 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1795575, 1808651    
Bug Blocks:    

Description Ben Cotton 2019-12-03 19:13:40 UTC
This is a tracking bug for Change: Build Python with -fno-semantic-interposition for better performance
For more details, see: https://fedoraproject.org/wiki/Changes/PythonNoSemanticInterpositionSpeedup

We add the -fno-semantic-interposition compiler/linker flag when building Python interpreters, as it provides significant performance improvement, up to 27% depending on the workload. Users will no longer be able to use LD_PRELOAD to override a symbol from libpython, which we consider a good trade off for the speedup.

Comment 2 Ben Cotton 2020-02-11 18:13:47 UTC
Branching Fedora 32 Changes from rawhide. Today is the Code Complete (testable) deadline. Please make sure your bug status is set appropriately:

Complete (testable) -> MODIFIED
Complete (100% code complete) -> ON_QA (deadline is 25 February)

If you need to defer this change until Fedora 33, please set the version back to 'rawhide'.

Comment 3 Miro Hrončok 2020-02-11 20:09:49 UTC
Our code is testable on everything except ppc64le and armv7hl, where it was reverted because of bz1795575. Back to MODIFIED.

Comment 4 Ben Cotton 2020-02-28 16:31:42 UTC
The Code Complete (100% Complete) deadline has passed. If your Change is 100% complete, please set the status of this bug to ON_QA. If you need to defer to Fedora 33, please set the version to rawhide. A list of incomplete changes is being submitted to FESCo for review.

Comment 5 Miro Hrončok 2020-02-28 17:11:16 UTC
Our code is code complete and 100% complete on everything except ppc64le and armv7hl, where it was reverted because of bz1795575, which is still not (marked as) fixed.

Comment 6 Miro Hrončok 2020-02-28 18:52:12 UTC
bz1795575 was apparently "fixed for almost a month"

rawhide PR: https://src.fedoraproject.org/rpms/python3/pull-request/176
fedora32 PR: https://src.fedoraproject.org/rpms/python3/pull-request/177

Ben, let us know whether we shall:

 - request a freeze exception
 - ship after beta
 - do not proceed with power and arm for Fedora 32

Or whether we shall consult with FESCo.

My take is that this has been deployed for a long time on the other arches without any reported problems and hence going with it is safe IMHO.

Comment 7 Charalampos Stratakis 2020-02-29 03:23:38 UTC
I would prefer a freeze exception for that. The change is simple, no issues reported on other archs and it just didn't go in due to us not knowing that the gcc issue had been fixed.

Comment 8 Miro Hrončok 2020-02-29 09:09:32 UTC
Freeze exception request: bz1808651

Comment 9 Ben Cotton 2020-03-02 15:47:51 UTC
I know you've already done it, but I agree with requesting an FE so we can get it done earlier rather than later.

Comment 10 Miro Hrončok 2020-04-18 11:46:27 UTC
We are shipping this in Fedora 32 GA. Any firther problems should be treated in separate bugzillas. This is done.