This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug dynamic-link/19367] Improve branch prediction on Silvermont


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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]