Re: [PATCH] perf, tools, bench: Fix memcpy benchmark for large sizesv2

From: Arnaldo Carvalho de Melo
Date: Mon Jul 22 2013 - 12:01:01 EST


Em Sat, Jul 20, 2013 at 12:57:27AM +0900, Hitoshi Mitake escreveu:
> At Thu, 18 Jul 2013 15:43:18 -0700, Andi Kleen wrote:
> > glibc calloc() 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.

> > +++ b/tools/perf/bench/mem-memcpy.c
> > @@ -115,8 +115,10 @@ static void alloc_mem(void **dst, void **src, size_t length)
> > *src = zalloc(length);
> > - if (!src)
> > + if (!*src)

> In the latest mem-memcpy.c, this if (!src) is already fixed as if
> (!*src). This modification makes applying fail.

I fixed this up, please take a look at:

https://git.kernel.org/cgit/linux/kernel/git/acme/linux.git/commit/?h=perf/core&id=a198996c7afae0097c67a61851f19863e59697b2

https://git.kernel.org/cgit/linux/kernel/git/acme/linux.git/log/?h=perf/core

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/