Bug 1779341 - Build Python with -fno-semantic-interposition for better performance
Summary: Build Python with -fno-semantic-interposition for better performance
Alias: None
Product: Fedora
Classification: Fedora
Component: Changes Tracking
Version: 32
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Charalampos Stratakis
QA Contact:
Depends On: 1795575 1808651
TreeView+ depends on / blocked
Reported: 2019-12-03 19:13 UTC by Ben Cotton
Modified: 2020-04-18 11:46 UTC (History)
5 users (show)

Fixed In Version: python3-3.8.0-3.fc32
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2020-04-18 11:46:27 UTC
Type: ---

Attachments (Terms of Use)

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.

Note You need to log in before you can comment on or make changes to this bug.