Re: [PATCH] perf, tools, bench: Fix memcpy benchmark for largesizes v2

From: Andi Kleen
Date: Mon Jul 22 2013 - 15:32:52 EST


On Mon, Jul 22, 2013 at 01:00:45PM -0300, Arnaldo Carvalho de Melo wrote:
> 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

Looks good. Thanks.
-Andi

--
ak@xxxxxxxxxxxxxxx -- Speaking for myself only.
--
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/