This is the mail archive of the binutils@sourceware.org mailing list for the binutils 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] |
On Wed, Oct 4, 2017 at 5:12 PM, H.J. Lu <hjl.tools@gmail.com> wrote: > 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? With function re-ordering of hot code, segment splitting and mapping only hot code to huge pages, we see a reduction in iTLB misses translating to performance improvements of 0.5 to 1% on some of our benchmarks. > > 2 Comments: > > 1. I'd prefer "-z text-unlikely-segment" with '-', instead of '_'. > 2. Need a testcase. Done and patch attached. Thanks Sri > > -- > H.J.
Attachment:
segment_split.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |