[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0c76f0d9-89d5-1913-0736-3b991c742e8c@linux.intel.com>
Date: Mon, 24 Feb 2020 23:53:28 +0800
From: "Jin, Yao" <yao.jin@...ux.intel.com>
To: Ravi Bangoria <ravi.bangoria@...ux.ibm.com>,
Jiri Olsa <jolsa@...hat.com>
Cc: alexander.shishkin@...ux.intel.com, acme@...nel.org,
jolsa@...nel.org, peterz@...radead.org, mingo@...hat.com,
Linux-kernel@...r.kernel.org, ak@...ux.intel.com,
kan.liang@...el.com, yao.jin@...el.com
Subject: Re: [PATCH v3 2/2] Support interactive annotation of code without
symbols
On 2/24/2020 10:04 PM, Ravi Bangoria wrote:
>
>
> On 2/24/20 7:21 PM, Jiri Olsa wrote:
>> On Mon, Feb 24, 2020 at 06:55:12PM +0530, Ravi Bangoria wrote:
>>> Hi Jin,
>>>
>>> On 2/24/20 7:52 AM, Jin Yao wrote:
>>>> For perf report on stripped binaries it is currently impossible to do
>>>> annotation. The annotation state is all tied to symbols, but there are
>>>> either no symbols, or symbols are not covering all the code.
>>>>
>>>> We should support the annotation functionality even without symbols.
>>>>
>>>> This patch fakes a symbol and the symbol name is the string of address.
>>>> After that, we just follow current annotation working flow.
>>>>
>>>> For example,
>>>>
>>>> 1. perf report
>>>>
>>>> Overhead Command Shared Object Symbol
>>>> 20.67% div libc-2.27.so [.] __random_r
>>>> 17.29% div libc-2.27.so [.] __random
>>>> 10.59% div div [.] 0x0000000000000628
>>>> 9.25% div div [.] 0x0000000000000612
>>>> 6.11% div div [.] 0x0000000000000645
>>>>
>>>> 2. Select the line of "10.59% div div [.]
>>>> 0x0000000000000628" and ENTER.
>>>>
>>>> Annotate 0x0000000000000628
>>>> Zoom into div thread
>>>> Zoom into div DSO (use the 'k' hotkey to zoom directly into the kernel)
>>>> Browse map details
>>>> Run scripts for samples of symbol [0x0000000000000628]
>>>> Run scripts for all samples
>>>> Switch to another data file in PWD
>>>> Exit
>>>>
>>>> 3. Select the "Annotate 0x0000000000000628" and ENTER.
>>>>
>>>> Percent│
>>>> │
>>>> │
>>>> │ Disassembly of section .text:
>>>> │
>>>> │ 0000000000000628 <.text+0x68>:
>>>> │ divsd %xmm4,%xmm0
>>>> │ divsd %xmm3,%xmm1
>>>> │ movsd (%rsp),%xmm2
>>>> │ addsd %xmm1,%xmm0
>>>> │ addsd %xmm2,%xmm0
>>>> │ movsd %xmm0,(%rsp)
>>>>
>>>> Now we can see the dump of object starting from 0x628.
>>>
>>> If I press 'a' on address, it's not annotating. But if I annotate
>>> by pressing enter, like you explained, it works. Is it intentional?
>>
>> I saw that too, but I thought it's unrelated issue,
>> because we played with that just recently
>>
>> if you go through the 'enter' way and back, then the
>> next time 'a' works ;-)
>
> Yes.
>
> I liked the series so I was trying out the patches. Just reporting
> issues I found...
>
> jump/call arrows are also screwed up.. Like jump instruction is showing
> call arrows.
> But these all are minor issues and can be fixed later on. I don't mind ;)
>
> Ravi
>
Some jumps will show arrow '->". For example,
→ jne 120
Yes, we can check and fix that later.
Thanks
Jin Yao
Powered by blists - more mailing lists