lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 14 Sep 2017 22:31:35 +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/14/2017 10:05 PM, Arnaldo Carvalho de Melo wrote:
> Em Thu, Sep 14, 2017 at 09:03:55AM +0800, Jin, Yao escreveu:
>> On 9/11/2017 9:33 AM, Jin, Yao wrote:
>>> 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?
> 
>>> 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.
>>
>> Could the solution of using a new hists for multiple events be accepted?
>>
>> Or anything I should update in the patches?
> 
> I'm not having time at this moment for doing a proper review, wait a bit
> more please.
> 
> - Arnaldo
> 

No problem, that's fine. Thanks in advance. 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ