Re: [PATCH v2 tip/perf/core 1/6] perf symbols: find symbols in different mount namespace

From: Thomas-Mich Richter
Date: Mon Jul 10 2017 - 02:17:12 EST


On 07/07/2017 09:36 PM, Krister Johansen wrote:
> On Thu, Jul 06, 2017 at 04:41:30PM -0300, Arnaldo Carvalho de Melo wrote:
>> Em Wed, Jul 05, 2017 at 06:48:08PM -0700, Krister Johansen escreveu:
>>> Teach perf how to resolve symbols from binaries that are in a different
>>> mount namespace from the tool. This allows perf to generate meaningful
>>> stack traces even if the binary resides in a different mount namespace
>>> from the tool.
>>
>> I was trying to find a way to test after applying each of the patches in
>> this series, when it ocurred to me that if a process that appears on a
>> perf.data file has exit, how can we access /proc/%ITS_PID/something?
>
> You're correct. We can't access /proc/<PID>/whatever once the process
> has exited. That was the impeteus for patches 4 and 6, which allow us
> to capture the binary (and debuginfo, if it exists) into the buildid
> cache so that if we do have a trace that exists after a process or
> container exists, we'll still be able to resolve some of the symbols.
>
> -K
>

Any ideas on how to extend this to be able to resolve symbols after
the process/container exited?
I believe it boils down on how to interpret the mnt inode number in the
PERF_RECORD_NAMESPACE record...
Can this be done post-mortem? Maybe the PERF_RECORD_NAMESPACE record
has to contain more data than just the inode number?

--
Thomas Richter, Dept 3303, IBM LTC Boeblingen Germany
--
Vorsitzende des Aufsichtsrats: Martina Koederitz
GeschÃftsfÃhrung: Dirk Wittkopp
Sitz der Gesellschaft: BÃblingen / Registergericht: Amtsgericht Stuttgart, HRB 243294