This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug dynamic-link/19367] Improve branch prediction on Silvermont
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Tue, 15 Dec 2015 21:29:32 +0000
- Subject: [Bug dynamic-link/19367] Improve branch prediction on Silvermont
- Auto-submitted: auto-generated
- References: <bug-19367-131 at http dot sourceware dot org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=19367
--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via b9eb92ab05204df772eb4929eccd018637c9f3e9 (commit)
from c9afcaaafaf9126a973883528eed8d0058a264c0 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=b9eb92ab05204df772eb4929eccd018637c9f3e9
commit b9eb92ab05204df772eb4929eccd018637c9f3e9
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Oct 21 14:44:23 2015 -0700
Add Prefer_MAP_32BIT_EXEC to map executable pages with MAP_32BIT
According to Silvermont software optimization guide, for 64-bit
applications, branch prediction performance can be negatively impacted
when the target of a branch is more than 4GB away from the branch. Add
the Prefer_MAP_32BIT_EXEC bit so that mmap will try to map executable
pages with MAP_32BIT first. NB: MAP_32BIT will map to lower 2GB, not
lower 4GB, address. Prefer_MAP_32BIT_EXEC reduces bits available for
address space layout randomization (ASLR), which is always disabled for
SUID programs and can only be enabled by setting environment variable,
LD_PREFER_MAP_32BIT_EXEC.
On Fedora 23, this patch speeds up GCC 5 testsuite by 3% on Silvermont.
[BZ #19367]
* sysdeps/unix/sysv/linux/wordsize-64/mmap.c: New file.
* sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/64/mmap.c: Likewise.
* sysdeps/x86/cpu-features.h (bit_Prefer_MAP_32BIT_EXEC): New.
(index_Prefer_MAP_32BIT_EXEC): Likewise.
-----------------------------------------------------------------------
Summary of changes:
sysdeps/unix/sysv/linux/wordsize-64/mmap.c | 40 ++++++++++++++++++++
sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h | 44 +++++++++++++++++++++++
sysdeps/unix/sysv/linux/x86_64/64/mmap.c | 37 +++++++++++++++++++
sysdeps/x86/cpu-features.h | 3 ++
4 files changed, 124 insertions(+), 0 deletions(-)
create mode 100644 sysdeps/unix/sysv/linux/wordsize-64/mmap.c
create mode 100644 sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h
create mode 100644 sysdeps/unix/sysv/linux/x86_64/64/mmap.c
--
You are receiving this mail because:
You are on the CC list for the bug.