BENCHTESTS: memmove benchtests do not test overlapping memory regions

Stefan Liebler stli@linux.ibm.com
Tue Feb 12 08:11:00 GMT 2019


On 02/08/2019 04:51 PM, Anton Youdkevitch wrote:
> Folks,
> 
> The current testing framework is using two buffers
> for all sorts of string benchmarks. Considering how
> the buffers get allocated (using mmap with the first
> argument set to 0) they can never overlap.
> 
> So, the memmove benchtest actually tests memcpy
> (with a little additional startup) instead of memmove.
> I would like to adapt memmove benchset to cover the
> case of overlapping memory regions as well.
> 

Just as hint:
benchtests/bench-memmove.c: do_test():
...
   s1 = (char *) (buf1 + align1);
   s2 = (char *) (buf2 + align2);
...
     do_one_test (..., dst=s2, src=((char *) (buf2 + align1)), 
orig_src=s1, ...);

Both src and dst are within buf2 and thus can overlap.



More information about the Libc-alpha mailing list