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

hjl.tools at gmail dot com sourceware-bugzilla@sourceware.org
Tue Dec 15 21:15:00 GMT 2015


https://sourceware.org/bugzilla/show_bug.cgi?id=19367

            Bug ID: 19367
           Summary: Improve branch prediction on Silvermont
           Product: glibc
           Version: 2.23
            Status: NEW
          Severity: normal
          Priority: P2
         Component: dynamic-link
          Assignee: unassigned at sourceware dot org
          Reporter: hjl.tools at gmail dot com
  Target Milestone: ---

Intel Silvermont optimization guide says

---
Another important performance consideration from a front end standpoint is
branch prediction. 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. This is more likely to happen when the application is split
into shared libraries. Developers can build statically to improve the locality
in their code. Building with LTO should further improve performance.
---

We should try to mmap executable pages in shared libraries with
MAP_32BIT first to improve branch prediction performance on Silvermont.
Prefer_MAP_32BIT_EXEC reduces bits available for address space layout
randomization (ASLR), which should be always disabled for SUID programs
and should only be enabled by setting environment variable,
LD_PREFER_MAP_32BIT_EXEC.

NB: MAP_32BIT will map to lower 2GB, not lower 4GB, address.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Glibc-bugs mailing list