perf bench: Fix memcpy benchmark for large sizes
authorAndi Kleen <ak@linux.intel.com>
Thu, 18 Jul 2013 22:33:46 +0000 (15:33 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 22 Jul 2013 15:41:56 +0000 (12:41 -0300)
commita198996c7afae0097c67a61851f19863e59697b2
treef62c96cb1b67ae9bbc465134bc9e66180ff07092
parent2b821cce1c950cead081d779db0dda680192c4bd
perf bench: Fix memcpy benchmark for large sizes

The glibc calloc() function has an optimization to not explicitely
memset() very large calloc allocations that just came from mmap(),
because they are known to be zero.

This could result in the perf memcpy benchmark reading only from
the zero page, which gives unrealistic results.

Always call memset explicitly on the source area to avoid this problem.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Hitoshi Mitake <h.mitake@gmail.com>
Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Link: http://lkml.kernel.org/n/tip-pzz2qrdq9eymxda0y8yxdn33@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/bench/mem-memcpy.c