[PATCH][AArch64] Cleanup memset
Wilco Dijkstra
Wilco.Dijkstra@arm.com
Tue Mar 3 14:42:00 GMT 2020
Hi Siddhesh,
> This looks OK in general, although can you please elaborate on the
> following:
>
> - What cores did you test on to conclude that 160 is a better threshold
> than 256?
I've mostly done testing on Neoverse N1, Cortex-A72 and Cortex-A53.
(the latter seems to be always faster with DC ZVA disabled, so the threshold
doesn't really matter). I wrote a random memset benchmark similar to the
memcpy one, and performance is unchanged there given there is no change
in the way small cases are handled.
> - Is the intention to support non-64-byte zva sizes once there is actual
> hardware that implements it and not bother with it for now? I agree
> with the idea if that's the case, just that it would be nice to have
> that documented in the git commit message.
Yes, otherwise it's hard to test or prove it helps performance after all. We've
had issues with the non-64 ZVA sizes before, so it's best to keep it simple.
I'm also trying to reduce the amount of code and avoid unnecessary proliferation
of almost identical ifuncs. I think we can remove most of the memset ifuncs,
it seems we need one version without ZVA and a ZVA version for size 64.
Cheers,
Wilco
More information about the Libc-alpha
mailing list