This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Gold linker patch to split unlikely text into a separate segment
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Sriraman Tallam <tmsriram at google dot com>
- Cc: Cary Coutant <ccoutant at gmail dot com>, Krzysztof Pszeniczny <kpszeniczny at google dot com>, Chris Kennelly <ckennelly at google dot com>, Xinliang David Li <davidxl at google dot com>, Stephane Eranian <eranian at google dot com>, binutils <binutils at sourceware dot org>
- Date: Wed, 4 Oct 2017 17:12:08 -0700
- Subject: Re: Gold linker patch to split unlikely text into a separate segment
- Authentication-results: sourceware.org; auth=none
- References: <CAAs8HmxCpQrbpw8YTLx6zGhTn5XqEp_TBn5_h7v4wTwSHQsQPg@mail.gmail.com>
On 10/4/17, Sriraman Tallam <tmsriram@google.com> wrote:
> Hi,
>
> This patch adds an option to gold to create a new ELF segment for
> code determined unlikely by the compiler. Currently, this can be done
> with a linker plugin but I was wondering if it is fine to have this
> support in gold with an option for ease of use.
>
> The advantages of doing this are:
>
> * We could only map the hot segment to huge pages to keep iTLB misses low
> * We could munlock the unlikely segment
>
> Is this alright?
>
> ChangeLog entry:
>
> * options.h (text_unlikely_segment): New option.
> * layout.cc (Layout::layout): Create new output section
> for .text.unlikely sections with the new option.
> (Layout::segment_precedes): Check for the new option
> when segment flags match.
>
> Patch attached.
>
This is an interesting approach. Do you have some performace
numbers?
2 Comments:
1. I'd prefer "-z text-unlikely-segment" with '-', instead of '_'.
2. Need a testcase.
--
H.J.