This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC PATCH] aarch64: improve memset


On 11/07/2014 05:14 PM, Wilco Dijkstra wrote:
> I've got a few comments on this patch:
> 
> * Do we really need variants for cache line sizes that are never going to be used?
>   I'd say just support 64 and 128, and default higher sizes to no_zva.
> 
> * Why special case line size=64 only? Unrolling might not help for 128 but should not
>   harm either, and the alignment overhead only increases with larger line sizes, so you
>   want to bypass the zva code in all cases if N < 3-4x line size.
> 
> * Is the no-ifunc variant still required/used? We're now having at least 4 different
>   variants which all need to be tested and maintained...
> 
> * Finally, which version is used when linking statically? I presume there is some 
>   makefile magic that causes the no-zva version to be used, however that might not be 
>   optimal for all targets.


Here's a version which only implements zva for 64 and 128-byte line sizes.

It also removes the version that loaded the zva data each time, which had
been used by ld.so and no-ifunc.  That was the path I had been concerned
about back in September.

That leaves ld.so using the no-zva path, which is perhaps a tad unfortunate
given that it needs to zero partial .bss pages during startup, and on a
system with 64k pages, we probably wind up with larger clears more often
than not...

Thoughts?


r~

Attachment: z
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]