[PATCH] aarch64: Optimized memcpy for Qualcomm Falkor processor

Wilco Dijkstra Wilco.Dijkstra@arm.com
Fri Jun 23 12:49:00 GMT 2017


Siddhesh Poyarekar wrote:

> This is an optimized memcpy implementation for the Qualcomm Falkor
> processor.  The implementation improves specINT in SPEC2006 by 0.6%
> with omnetpp and xalancbmk leading at 6% and the overall impact being
> mostly positive on all benchmarks.  With the glibc microbenchmarks the
> large copy benchmarks suffer slightly but bench-memcpy-random improves
> throughout by about 5%.

Those are odd results. Omnetpp doesn't use memcpy and xalancbmk profile has
memcpy at ~2%, so getting a 6% improvement couldn't be related to memcpy!

Similarly the random memcpy benchmark only does a small number of copies
larger than 96 bytes (where your new code is used), so I find it hard to believe it
could make a difference. On Cortex-A57 I get identical performance for this patch vs
the generic version (btw __memcpy_thunderx is very close, __memcpy_thunderx2
is 18% slower).

If prefetching in larger copies doesn't help Falkor in the large copy benchmark, then
what's the reasoning behind this patch?

Wilco


More information about the Libc-alpha mailing list