[<prev] [next>] [day] [month] [year] [list]
Message-ID: <CABPqkBTik6dLrbXSjJm7LpL5T=kv8aHG54j9P0iKzUj6taA7hg@mail.gmail.com>
Date: Thu, 14 Feb 2019 13:39:29 -0800
From: Stephane Eranian <eranian@...gle.com>
To: Arnaldo Carvalho de Melo <arnaldo.melo@...il.com>
Cc: Arnaldo Carvalho de Melo <acme@...nel.org>,
Jiri Olsa <jolsa@...hat.com>,
Alexey Budankov <alexey.budankov@...ux.intel.com>,
Jiri Olsa <jolsa@...nel.org>,
lkml <linux-kernel@...r.kernel.org>,
Ingo Molnar <mingo@...nel.org>,
Namhyung Kim <namhyung@...nel.org>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Adrian Hunter <adrian.hunter@...el.com>,
Andi Kleen <ak@...ux.intel.com>
Subject: Re: [RFC/PATCH 00/14] perf record: Add support to store data in directory
On Thu, Feb 14, 2019 at 1:35 PM Arnaldo Carvalho de Melo
<arnaldo.melo@...il.com> wrote:
>
> On Thu, Feb 14, 2019, 6:31 PM Stephane Eranian <eranian@...gle.com wrote:
>>
>> On Thu, Feb 14, 2019 at 6:00 AM Arnaldo Carvalho de Melo
>> <acme@...nel.org> wrote:
>> >
>> > Em Thu, Feb 14, 2019 at 02:26:38PM +0100, Jiri Olsa escreveu:
>> > > On Thu, Feb 14, 2019 at 09:57:59AM -0300, Arnaldo Carvalho de Melo wrote:
>> > > > But with the build id in the MMAPs we wouldn't need to scan anything at
>> > > > 'perf record' time, just at 'perf archive' time, where we would scan
>> > > > everything, and as soon as we find a hit, we add that DSO to the list of
>> > > > things we need to put in the tarball.
>> >
>> > > ok.. it might little change the expected behavour in that you will not
>> > > have .debug cache populated until you run perf archive.. some profile
>> > > data might stop report after you reinstall the binary..
>> >
>> Today perf record does collect the buildids once monitor is completed,
>> it does one
>> pass over the perf.data file looking for MMAP records, or at least in
>> the version I am
>> more familiar with.
>
>
> It does look for the MMAP records, how else would it find the DSO pathnames?
>
I was not talking about the synthesize_mmap() code. I was talking
about process_buildids().
>
> - Arnaldo
>
> Sent from smartphone
>>
>>
>> > Well, nothing prevents us from continuing to, in 'perf record', go thru
>> > the perf.data just collected to populate the .debug cache, its just that
>> > we would do it just for that, for populating the cache, we wouldn't
>> > _have_ to do that for collecting the buildids.
>>
>> Sure, for compatibility reasons.
>> In pipe mode, this would also avoid the need for perf inject -b -i -,
>> which is a win.
>>
>> perf archive is useful if you do not have a way to locate the binary using only
>> the buildid on the analysis machine.
>> >
>> > > on the other hand '.debug' cache would stop growing uncontrolably..
>> > > so I think I'd be ok with this
>> >
>> I agree!
>>
>> > That is another problem, and one that has to be solved in a way similar
>> > to ccache's --max-size option.
>> >
>> > The .debug cache is useful for various workflows, but may get in the way
>> > for some others, which is why we have ways to disable it.
>> >
>> Correct.
>>
>> > For instance, when working on some project it is handy to have copies of
>> > binaries saved so that older perf.data files can find a file that was
>> > rewritten by the compiler when doing changes in it, etc.
>> >
>> > With the .debug cache and if using -g, we can get the older copy of the
>> > binary _and_ its sources, annotation for older versions continue to
>> > work, etc.
>> >
>> > - Arnaldo
Powered by blists - more mailing lists