[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <cc9bbc50-a97f-6cc3-7811-8cfbe022c56b@linux.intel.com>
Date: Mon, 11 Sep 2017 09:33:53 +0800
From: "Jin, Yao" <yao.jin@...ux.intel.com>
To: Arnaldo Carvalho de Melo <acme@...nel.org>
Cc: jolsa@...nel.org, peterz@...radead.org, mingo@...hat.com,
alexander.shishkin@...ux.intel.com, Linux-kernel@...r.kernel.org,
ak@...ux.intel.com, kan.liang@...el.com, yao.jin@...el.com
Subject: Re: [PATCH v1 1/4] perf annotate: create a new hists to manage
multiple events samples
On 9/8/2017 9:43 PM, Arnaldo Carvalho de Melo wrote:
> Em Wed, Aug 16, 2017 at 06:18:33PM +0800, Jin Yao escreveu:
>> An issue is found during using perf annotate.
>>
>> perf record -e cycles,branches ...
>> perf annotate main --stdio
>>
>> The result only shows cycles. It should show both cycles and
>> branches on the left side. It works with "--group", but need
>> this to work even without groups.
>>
>> In current design, the hists is per event. So we need a new
>> hists to manage the samples for multiple events and use a new
>> hist_event data structure to save the map/symbol information
>> for per event.
> Humm, why do we need another hists? Don't we have one per evsel, don't
> we have a evlist from where to get all of those evsels, can't we just
> use that to add one column per evsel?
>
> - Arnaldo
>
>
Hi Arnaldo,
I'm considering a case.
Suppose we sample 2 events ("branches" and "cache-misses"). The samples
of "branches" are hit in function A and the samples of "cache-misses"
are hit in function B.
The branches evsel has one hists and cache-misses evsel has another hists.
The hists of branches evsel has one hist-entry which stands for the
function A symbol. The hists of cache-misses evsel has one hist-entry
which stands for the function B symbol.
If we start to show the instructions in function B from cache-misses
evsel, we will lose the function A.
Because even if we get the branches evsel from the link in cache-misses
evsel, but the function A is before function B and function B has been
displayed yet, so the function A is lost.
Considering the number of events can be greater than 2, the code will be
much more complicated. So using a global hists should be an easy solution.
Thanks
Jin Yao
Powered by blists - more mailing lists