This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
Re: [PATCH] Optimize MIPS memcpy
On 30/10/2012, at 8:16 PM, Maxim Kuvyrkov wrote:
> On 30/10/2012, at 7:00 AM, Steve Ellcey wrote:
>
>> On Wed, 2012-10-17 at 10:29 -0700, Steve Ellcey wrote:
>>
>>> OK, Here is a version of memcpy that uses the STORE_STREAMING prefetch.
>>> While it is optimized for a 32 byte prefetch, it will work correctly
>>> regardless of the size of the prefetch.
>>>
>>> Is this version OK to checkin?
>>>
>>> Steve Ellcey
>>> sellcey@mips.com
>>
>> Maxim, have you had a chance to test this version of memcpy for MIPS?
>
> I have tested your latest version. Good news: there are no correctness issues. Bad news: it underperforms compared to my patch by 2-3 times on both N32 and N64 (didn't test O32) on the benchmark that I used. I've run the benchmark several times and results are consistent. I use oprofile on libc.so to determine how much time is spent in memcpy.
>
> Would you please confirm that your current implementation is faster on YOUR benchmark than my patch in http://sourceware.org/ml/libc-ports/2012-09/msg00000.html ? Please make sure that PREFETCH macro in ports/sysdeps/mips/sys/asm.h gets defined to "pref", not "nop", in your build.
Andrew,
You should also have a stake in this. Would you please benchmark Steve's patch in http://sourceware.org/ml/libc-ports/2012-10/msg00037.html vs my patch in http://sourceware.org/ml/libc-ports/2012-09/msg00000.html on your favorite benchmark and report the results?
Thank you,
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics