[Bug 1595739] Re: please backport arm64 mem{set, cpy, move} optimizations
dann frazier
dann.frazier at canonical.com
Tue Jul 19 16:16:17 UTC 2016
Ming Lei did some testing on an X-Gene-based system (see below). TLDR:
memcpy isn't significantly different, but memset regresses by about 23%.
A test build w/ these patches is available in lp:dannf/test.
On Mon, Jul 18, 2016 at 10:25 PM, Ming Lei <ming.lei at canonical.com> wrote:
> On Tue, Jul 19, 2016 at 7:08 AM, Dann Frazier
> <dann.frazier at canonical.com> wrote:
>> hey Ming,
>> We did our end of iteration review, and one of the tasks on the
>> backlog was some glibc benchmarking on X-Gene (McDivitt). We went
>> ahead and assigned that to you:
>>
>> https://canonical.leankit.com/Boards/View/108592675/122938128
>>
>> Of course, with Andy out, I'm not sure if you already have a full
>> plate. If so, just let me know and I'll move it back to the backlog -
>> it isn't urgent.
>
> Looks no obvious improvement on mcdivitt about memcpy, but bring perf
> regression about memset, please see the following data:
>
> ubuntu at ms10-36-mcdivittB0:~$ uname -a
> Linux ms10-36-mcdivittB0 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13
> 00:06:30 UTC 2016 aarch64 aarch64 aarch64 GNU/Linux
> 1 before optimization
> ubuntu at ms10-36-mcdivittB0:~$ perf bench mem memcpy -s 32GB -l 8
> # Running 'mem/memcpy' benchmark:
> # function 'default' (Default memcpy() provided by glibc)
> # Copying 32GB bytes ...
>
> 5.788137 GB/sec
> ubuntu at ms10-36-mcdivittB0:~$ perf bench mem memset -s 32GB -l 8
> # Running 'mem/memset' benchmark:
> # function 'default' (Default memset() provided by glibc)
> # Copying 32GB bytes ...
>
> 18.434465 GB/sec
> ubuntu at ms10-36-mcdivittB0:~$
>
>
> 2, after optimization
> ubuntu at ms10-36-mcdivittB0:~$
> ubuntu at ms10-36-mcdivittB0:~$ dpkg -l | grep libc6
> ii libc6:arm64 2.23-0ubuntu3+arm64opt.1
> arm64 GNU C Library: Shared libraries
> ubuntu at ms10-36-mcdivittB0:~$
> ubuntu at ms10-36-mcdivittB0:~$
> ubuntu at ms10-36-mcdivittB0:~$
> ubuntu at ms10-36-mcdivittB0:~$ perf bench mem memcpy -s 32GB -l 8
> # Running 'mem/memcpy' benchmark:
> # function 'default' (Default memcpy() provided by glibc)
> # Copying 32GB bytes ...
>
> 5.791313 GB/sec
> ubuntu at ms10-36-mcdivittB0:~$
> ubuntu at ms10-36-mcdivittB0:~$
> ubuntu at ms10-36-mcdivittB0:~$ perf bench mem memset -s 32GB -l 8
> # Running 'mem/memset' benchmark:
> # function 'default' (Default memset() provided by glibc)
> # Copying 32GB bytes ...
>
> 15.042083 GB/sec
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to glibc in Ubuntu.
https://bugs.launchpad.net/bugs/1595739
Title:
please backport arm64 mem{set,cpy,move} optimizations
Status in glibc package in Ubuntu:
Confirmed
Status in glibc source package in Xenial:
New
Bug description:
Optimizations to AArch64's memset, memcpy & memmove routines have
recently landed upstream. The attached patch applies these clean
cherry-picks to the current glibc packaging.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1595739/+subscriptions
More information about the foundations-bugs
mailing list