]> git.baikalelectronics.ru Git - kernel.git/commit
perf symbols: Destroy unused symsrcs
authorNamhyung Kim <namhyung@kernel.org>
Thu, 20 Feb 2014 01:32:54 +0000 (10:32 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 24 Feb 2014 14:13:08 +0000 (11:13 -0300)
commit15eda0dd527d6a9cfd10022f69c5eecaa9ec1cf1
tree03b3d01a73f2b631cd7aeea98ab49f7f6a6730ce
parent433e9226202f295fd080f5ad8eb2c31162de4ba6
perf symbols: Destroy unused symsrcs

Stephane reported that perf report and annotate failed to process data
using lots of (> 500) shared libraries.  It was because of the limit on
number of open files (ulimit -n).

Currently when perf loads a DSO, it'll look for normal and dynamic
symbol tables.  And if it fails to find out both tables, it'll iterate
all of possible symtab types.  But many of them are useless since they
have no additional information and the problem is that it's not closing
those files even though they're not used.  Fix it.

Reported-by: Stephane Eranian <eranian@google.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Cody P Schafer <cody@linux.vnet.ibm.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Namhyung Kim <namhyung.kim@lge.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1392859976-32760-2-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/symbol.c