On Mon, Jun 03, 2019 at 10:36:16PM +0800, Jin Yao wrote:
perf record -b ./div
perf record -b ./div
Following is the default perf diff output
# perf diff
# Event 'cycles'
#
# Baseline Delta Abs Shared Object Symbol
# ........ ......... ................ ....................................
#
49.03% +0.30% div [.] main
16.29% -0.20% libc-2.23.so [.] __random
18.82% -0.07% libc-2.23.so [.] __random_r
8.11% -0.04% div [.] compute_flag
2.25% +0.01% div [.] rand@plt
0.00% +0.01% [kernel.vmlinux] [k] task_tick_fair
5.46% +0.01% libc-2.23.so [.] rand
0.01% -0.01% [kernel.vmlinux] [k] native_irq_return_iret
0.00% -0.00% [kernel.vmlinux] [k] interrupt_entry
This patch creates a new computation selection 'cycles'.
# perf diff -c cycles
# Event 'cycles'
#
# Baseline Block cycles diff [start:end] Shared Object Symbol
# ........ .................................... ................ ....................................
#
49.03% -9 [ 4ef: 520] div [.] main
49.03% 0 [ 4e8: 4ea] div [.] main
49.03% 0 [ 4ef: 500] div [.] main
49.03% 0 [ 4ef: 51c] div [.] main
49.03% 0 [ 4ef: 535] div [.] main
18.82% 0 [ 3ac40: 3ac4d] libc-2.23.so [.] __random_r
18.82% 0 [ 3ac40: 3ac5c] libc-2.23.so [.] __random_r
18.82% 0 [ 3ac40: 3ac76] libc-2.23.so [.] __random_r
18.82% 0 [ 3ac40: 3ac88] libc-2.23.so [.] __random_r
18.82% 0 [ 3ac90: 3ac9c] libc-2.23.so [.] __random_r
16.29% -8 [ 3aac0: 3aac0] libc-2.23.so [.] __random
16.29% 0 [ 3aac0: 3aad2] libc-2.23.so [.] __random
16.29% 0 [ 3aae0: 3aae7] libc-2.23.so [.] __random
16.29% 0 [ 3ab03: 3ab0f] libc-2.23.so [.] __random
16.29% 0 [ 3ab14: 3ab1b] libc-2.23.so [.] __random
16.29% 0 [ 3ab28: 3ab2e] libc-2.23.so [.] __random
16.29% 0 [ 3ab4a: 3ab53] libc-2.23.so [.] __random
8.11% 0 [ 640: 644] div [.] compute_flag
8.11% 0 [ 649: 659] div [.] compute_flag
5.46% 0 [ 3af60: 3af60] libc-2.23.so [.] rand
5.46% 0 [ 3af60: 3af64] libc-2.23.so [.] rand
2.25% 0 [ 490: 490] div [.] rand@plt
0.01% 26 [ c00a27: c00a27] [kernel.vmlinux] [k] native_irq_return_iret
0.00% -157 [ 2bf9f2: 2bfa63] [kernel.vmlinux] [k] update_blocked_averages
0.00% -56 [ 2bf980: 2bf9d3] [kernel.vmlinux] [k] update_blocked_averages
0.00% 48 [ 2bf934: 2bf942] [kernel.vmlinux] [k] update_blocked_averages
0.00% 3 [ 2bfb38: 2bfb67] [kernel.vmlinux] [k] update_blocked_averages
0.00% 0 [ 2bf968: 2bf97b] [kernel.vmlinux] [k] update_blocked_averages
so what I'd expect would be Baseline column with cycles and another
column showing the differrence (in cycles) for given symbol
"[start:end]" indicates the basic block range. The output is sorted
by "Baseline" and the basic blocks in the same function are sorted
by cycles diff.
hum, why is there multiple basic blocks [start:end] for a symbol?
thanks,
jirka