Messages in this thread | | | Date | Wed, 5 Jun 2019 13:44:08 +0200 | From | Jiri Olsa <> | Subject | Re: [PATCH v2 6/7] perf diff: Print the basic block cycles diff |
| |
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
| |