Re: perf: kernel memory leak when inherit enabled

From: Arnaldo Carvalho de Melo
Date: Mon Mar 14 2011 - 18:32:58 EST


Em Mon, Mar 14, 2011 at 06:27:19PM -0400, Vince Weaver escreveu:
> On Fri, 11 Mar 2011, Vince Weaver wrote:
> >
> > While trying to use perf events with inherit enabled to profile some
> > multi-threaded BLAS routines (using PAPI) I ended up out-of-memorying my
> > machine. It turns out you can quickly leak gigabytes of kernel memory
> > that isn't freed when the process exits.
>
> I've bisected this. There's a whole day I'll never see again. binutils
> 2.21 and gcc-4.5 for the lose :(
>
> Anyway this memory leak with inherit was introduced in
> 4fd38e4595e


commit 4fd38e4595e2f6c9d27732c042a0e16b2753049c
Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Date: Thu May 6 17:31:38 2010 +0200

perf: Fix exit() vs PERF_FORMAT_GROUP

Both Stephane and Corey reported that PERF_FORMAT_GROUP didn't work
as expected if the task the counters were attached to quit before
the read() call.

The cause is that we unconditionally destroy the grouping when we
remove counters from their context. Fix this by only doing this when
we free the counter itself.

Reported-by: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx>
Reported-by: Stephane Eranian <eranian@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
LKML-Reference: <1273160566.5605.404.camel@twins>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

- 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/