This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
Re: [patch, mips] Improved memset for MIPS
- From: Andrew Pinski <pinskia at gmail dot com>
- To: Steve Ellcey <sellcey at mips dot com>
- Cc: "Joseph S. Myers" <joseph at codesourcery dot com>, "Carlos O'Donell" <carlos at redhat dot com>, "libc-ports at sourceware dot org" <libc-ports at sourceware dot org>
- Date: Thu, 12 Dec 2013 14:19:32 -0800
- Subject: Re: [patch, mips] Improved memset for MIPS
- Authentication-results: sourceware.org; auth=none
- References: <93a232b5-9d0b-4a27-bbb5-16e3ae7c4b89 at BAMAIL02 dot ba dot imgtec dot org> <Pine dot LNX dot 4 dot 64 dot 1309061430150 dot 5886 at digraph dot polyomino dot org dot uk> <1378483039 dot 5770 dot 302 dot camel at ubuntu-sellcey> <Pine dot LNX dot 4 dot 64 dot 1309061603380 dot 8532 at digraph dot polyomino dot org dot uk> <1378486241 dot 5770 dot 327 dot camel at ubuntu-sellcey> <Pine dot LNX dot 4 dot 64 dot 1309061653280 dot 8532 at digraph dot polyomino dot org dot uk> <1379526035 dot 5770 dot 414 dot camel at ubuntu-sellcey> <Pine dot LNX dot 4 dot 64 dot 1309201643100 dot 3814 at digraph dot polyomino dot org dot uk> <1379698355 dot 5770 dot 466 dot camel at ubuntu-sellcey>
On Fri, Sep 20, 2013 at 10:32 AM, Steve Ellcey <sellcey@mips.com> wrote:
> On Fri, 2013-09-20 at 16:43 +0000, Joseph S. Myers wrote:
>> On Wed, 18 Sep 2013, Steve Ellcey wrote:
>>
>> > 2013-09-18 Steve Ellcey <sellcey@mips.com>
>> >
>> > * sysdeps/mips/memset.S: Change prefetching and add loop unrolling.
>> > * sysdeps/mips/mips64/memset.S: Remove.
>>
>> OK, though I believe "proAptive" in a comment should be "proAptiv".
>
> You are right. I fixed that and checked in the patch.
I noticed this patch causes some performance regressions on Octeon due
to having 128 byte cache lines.
Changing PREFETCH_CHUNK/PREFETCH_FOR_STORE to assume 128 byte cache
line gives us the performance back and improves over the original code
at least 15%.
That is:
# define PREFETCH_CHUNK 128
# define PREFETCH_FOR_STORE(chunk, reg) \
pref PREFETCH_STORE_HINT, (chunk)*128(reg);
Thanks,
Andrew Pinski
>
> Steve Ellcey
> sellcey@mips.com
>
>