Re: [PATCH v3 2/2] Support interactive annotation of code without symbols
From: Jin, Yao
Date: Mon Feb 24 2020 - 10:46:57 EST
On 2/24/2020 9:56 PM, Ravi Bangoria wrote:
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)
This might be an add on...
Even though there are samples on a particular instruction, 'Percent' column
is empty, I guess, because we don't have symbol length?
Should we show 'global percent'? Or nr samples? Will it be useful?
Ravi
As the mail I reply to Jiri, if we use the Jiri's idea, we can collect
the hits for dummy symbols then we can show the percent of dummy symbol
here.
Thanks
Jin Yao