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] |
Ping. Cary, is this alright to commit? * options.h (-z,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. * testsuite/text_unlikely_segment.cc: New test source. * testsuite/text_unlikely_segment.sh: New test script. * testsuite/Makefile.am (text_unlikely_segment): New test. On Tue, Oct 10, 2017 at 2:52 PM, Sriraman Tallam <tmsriram@google.com> wrote: > Ping. Cary, is this alright to commit? > > * options.h (-z,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. > * testsuite/text_unlikely_segment.cc: New test source. > * testsuite/text_unlikely_segment.sh: New test script. > * testsuite/Makefile.am (text_unlikely_segment): New test. > > > > > On Thu, Oct 5, 2017 at 4:41 PM, Sriraman Tallam <tmsriram@google.com> wrote: >> On Thu, Oct 5, 2017 at 4:41 PM, H.J. Lu <hjl.tools@gmail.com> wrote: >>> On 10/5/17, Sriraman Tallam <tmsriram@google.com> wrote: >>>> 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. >>> >>> Please include this info in your commit log. >>> >>>>> >>>>> 2 Comments: >>>>> >>>>> 1. I'd prefer "-z text-unlikely-segment" with '-', instead of '_'. >>>>> 2. Need a testcase. >>>> >>>> Done and patch attached. >>>> >>> >>> LGTM. But I can't approve it. >> >> Np, thanks! >> >> Sri >> >>> >>> Thanks. >>> >>> -- >>> 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] |