perf srcline: Use long-running addr2line per DSO
authorTony Garnock-Jones <tonyg@leastfixedpoint.com>
Thu, 16 Sep 2021 12:09:39 +0000 (14:09 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 4 Oct 2021 12:29:07 +0000 (09:29 -0300)
commitbe8ecc57f180415e8a7c1cc5620c5236be2a7e56
treeff580864e971a6a30ec8312f346ce6c705aa318c
parent2b775152bbe838c9de0055eb5bdb530c2c88235b
perf srcline: Use long-running addr2line per DSO

Invoking addr2line in a separate subprocess, one for each required
lookup, takes a terribly long time.

This patch introduces a long-running addr2line process for each DSO,
*DRAMATICALLY* speeding up runs of perf.

What used to take tens of minutes now takes tens of seconds.

Debian bug report about this issue:

  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911815

Signed-off-by: Tony Garnock-Jones <tonyg@leastfixedpoint.com>
Tested-by: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/20210916120939.453536-1-tonyg@leastfixedpoint.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/srcline.c