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] New: Improve branch prediction on Silvermont


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.

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