This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Ping: [PATCH v4] faster strlen on x64
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: OndÅej BÃlka <neleai at seznam dot cz>
- Cc: "Carlos O'Donell" <carlos at redhat dot com>, "Carlos O'Donell" <carlos at systemhalted dot org>, GNU C Library <libc-alpha at sourceware dot org>
- Date: Fri, 20 Jun 2014 08:11:25 -0700
- Subject: Re: Ping: [PATCH v4] faster strlen on x64
- Authentication-results: sourceware.org; auth=none
- References: <20130307203745 dot GA26467 at domone dot kolej dot mff dot cuni dot cz> <513982A1 dot 20008 at suse dot com> <20130311091527 dot GA6921 at domone dot kolej dot mff dot cuni dot cz> <513F2C77 dot 6090606 at redhat dot com> <20130315114958 dot GA19760 at domone dot kolej dot mff dot cuni dot cz> <5143305D dot 1030707 at redhat dot com> <20130318064250 dot GA5157 at domone dot kolej dot mff dot cuni dot cz> <CAMe9rOr+RcrW0Jq-CvLzfUXCPTSmxZt2VSx=zV+dVF3W8zbxLg at mail dot gmail dot com> <20140619211517 dot GA12704 at domone dot podge> <CAMe9rOr8ijTXV63r=2Niw-Lq=KN2H+DRVx27SyCrRU8WVtbuPA at mail dot gmail dot com> <20140620103315 dot GA20610 at domone dot podge>
On Fri, Jun 20, 2014 at 3:33 AM, OndÅej BÃlka <neleai@seznam.cz> wrote:
> On Thu, Jun 19, 2014 at 02:59:17PM -0700, H.J. Lu wrote:
>> On Thu, Jun 19, 2014 at 2:15 PM, OndÅej BÃlka <neleai@seznam.cz> wrote:
>> > On Thu, Jun 19, 2014 at 01:43:09PM -0700, H.J. Lu wrote:
>> >> On Sun, Mar 17, 2013 at 11:42 PM, OndÅej BÃlka <neleai@seznam.cz> wrote:
>> >> > On Fri, Mar 15, 2013 at 10:29:49AM -0400, Carlos O'Donell wrote:
>> >> >> On 03/15/2013 07:49 AM, OndÅej BÃlka wrote:
>> >> >> > On Tue, Mar 12, 2013 at 09:24:07AM -0400, Carlos O'Donell wrote:
>> >> >> >> On 03/11/2013 05:15 AM, OndÅej BÃlka wrote:
>> >> >> >>> Carlos, what is you opinion?
>> >> >> >>
>> >> >> >> The patch looks good. I have one last question though.
>> >> >> >>
>> >> >> >> We remove some interesting code in the existing strlen implementations
>> >> >> >> that ensure that strlen calls from libc itself do not go through the PLT.
>> >> >> >>
>> >> >> >> Have you verified that after your changes there are no testsuite regressions
>> >> >> >> in the plt check test or that the internal calls to strlen avoid the PLT?
>> >> >> >>
>> >> >> >> OK to checkin after this additional validation with posted result.
>> >> >> >>
>> >> >> >
>> >> >> > I ran http://sourceware.org/glibc/wiki/Testing/Check-localplt
>> >> >> > elf/checklocalplt.out is empty. I guess this means no regressions.
>> >> >>
>> >> >> Correct.
>> >> >>
>> >> >> Cheers,
>> >> >> Carlos.
>> >> >
>> >> > Commited with obvious resolution of merge conflict in
>> >> > sysdeps/x86-64/multiarch/Makefile.
>> >>
>> >> This commit:
>> >>
>> >> commit 37bb363f03d75e5e6f2ca45f2c686a3a0167797e
>> >> Author: Ondrej Bilka <neleai@seznam.cz>
>> >> Date: Mon Mar 18 07:39:12 2013 +0100
>> >>
>> >> Faster strlen on x64.
>> >>
>> >> sysdeps/x86_64/multiarch/Makefile | 6 +-
>> >> sysdeps/x86_64/multiarch/ifunc-impl-list.c | 13 -
>> >> sysdeps/x86_64/multiarch/strcat-sse2-unaligned.S | 232 +++++++-
>> >> sysdeps/x86_64/multiarch/strcat-ssse3.S | 316 ++++++++++-
>> >> sysdeps/x86_64/multiarch/strlen-sse2-no-bsf.S | 685 -----------------------
>> >> sysdeps/x86_64/multiarch/strlen-sse2-pminub.S | 259 ---------
>> >> sysdeps/x86_64/multiarch/strlen-sse4.S | 84 ---
>> >> sysdeps/x86_64/multiarch/strlen.S | 68 ---
>> >> sysdeps/x86_64/multiarch/strnlen-sse2-no-bsf.S | 3 -
>> >> sysdeps/x86_64/multiarch/strnlen.S | 57 --
>> >> sysdeps/x86_64/strcat.S | 1 +
>> >> sysdeps/x86_64/strlen.S | 272 ++++++---
>> >> sysdeps/x86_64/strnlen.S | 67 +--
>> >>
>> >> has no ChangeLog entries. Since it removed sysdeps/x86_64/multiarch/strlen.S,
>> >> sysdeps/x86_64/multiarch/rtld-strlen.S became unnecessary and should also
>> >> be removed.
>> >>
>> >>
>> >> --
>> >> H.J.
>> > A changelog entry is here. You cannot remove
>> > sysdeps/x86_64/multiarch/rtld-strlen.S as we cannot now use sse2 in
>> > rtld. I had patch that removed that restriction, when I return back on
>> > it and it will be commited then it could be removed.
>>
>> When sysdeps/x86_64/multiarch/rtld-strlen.S is removed,
>> sysdeps/x86_64/rtld-strlen.S is used.
>>
> Yes then its ok.
I checked in my patch to remove sysdeps/x86_64/multiarch/rtld-strlen.S.
--
H.J.