Re: Announcement: Release Candidate 1 for OProfile 1.0.0
William Cohen <[email protected]>
| Newsgroups | gmane.linux.oprofile |
|---|---|
| Message-ID | <[email protected]> |
On 08/28/2014 02:59 PM, Will Deacon wrote:
> On Thu, Aug 28, 2014 at 07:24:07PM +0100, William Cohen wrote:
>> On 08/28/2014 02:07 PM, Will Deacon wrote:
>>> Thanks for giving this a whirl. Which was the A9 SoC you used? The PMU
>>> interrupts are often not described properly on those, so it could simply be
>>> that perf hasn't initialised.
>>>
Hi Will,
Yes, there are cases where dtb doesn't descrbibe the performance monitoring hardware/interrupts properly, but in this case a compulab trimslice with nvidia tegra2 process it appears "perf record ls" seems to work correctly and "perf report" provides sane data.
Below is before and after of /proc/interrupts of the "perf record". I suspect that there is some difference in the way that operf and ocount are trying to set up the events when compared to "perf record" and "perf stat.
I should use systemtap to look at the various parameters being passed in to set up perf and determine where "perf" and "operf" diverge.
-Will
[wcohen@localhost ~]$ more /proc/interrupts
CPU0 CPU1
29: 105745 1576193 GIC 29 twd
34: 0 0 GIC 34 7000e000.rtc
46: 52 0 GIC 46 mmc0
52: 2646 0 GIC 52 ehci_hcd:usb1
53: 0 0 GIC 53 ehci_hcd:usb2
63: 38523 0 GIC 63 mmc1
68: 1224 0 GIC 68 serial
70: 0 0 GIC 70 7000c000.i2c
71: 3 0 GIC 71 7000c380.spi
73: 0 0 GIC 73 timer0
97: 0 0 GIC 97 host1x_syncpt
116: 0 0 GIC 116 7000c400.i2c
124: 16 0 GIC 124 7000c500.i2c
129: 109 0 GIC 129 ehci_hcd:usb3
130: 1 0 GIC 130 PCIE
131: 2789 0 GIC 131 Tegra PCIe MSI
136: 0 0 GIC 136 apbdma.0
137: 0 0 GIC 137 apbdma.1
138: 0 0 GIC 138 apbdma.2
139: 0 0 GIC 139 apbdma.3
140: 0 0 GIC 140 apbdma.4
141: 0 0 GIC 141 apbdma.5
142: 0 0 GIC 142 apbdma.6
143: 0 0 GIC 143 apbdma.7
144: 0 0 GIC 144 apbdma.8
145: 0 0 GIC 145 apbdma.9
146: 0 0 GIC 146 apbdma.10
147: 0 0 GIC 147 apbdma.11
148: 0 0 GIC 148 apbdma.12
149: 0 0 GIC 149 apbdma.13
150: 0 0 GIC 150 apbdma.14
151: 0 0 GIC 151 apbdma.15
281: 0 0 GPIO 121 c8000600.sdhci cd
350: 0 0 GPIO 190 Power
384: 0 0 Tegra PCIe MSI 0 PCIe PME
385: 2853 0 Tegra PCIe MSI 1 enp1s0
IPI0: 0 0 CPU wakeup interrupts
IPI1: 0 0 Timer broadcast interrupts
IPI2: 45534 22980 Rescheduling interrupts
IPI3: 0 0 Function call interrupts
IPI4: 218 159 Single function call interrupts
IPI5: 0 0 CPU stop interrupts
IPI6: 3630 2862 IRQ work interrupts
IPI7: 0 0 completion interrupts
Err: 0
[wcohen@localhost ~]$ perf record ls
Desktop Downloads Music oprofile_data perf.data.old Public systemtap.sum Videos
Documents hosts oprofile perf.data Pictures systemtap.log Templates
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.012 MB perf.data (~503 samples) ]
[wcohen@localhost ~]$ more /proc/interrupts
CPU0 CPU1
29: 107913 1607353 GIC 29 twd
34: 0 0 GIC 34 7000e000.rtc
46: 52 0 GIC 46 mmc0
52: 2646 0 GIC 52 ehci_hcd:usb1
53: 0 0 GIC 53 ehci_hcd:usb2
63: 41037 0 GIC 63 mmc1
68: 1224 0 GIC 68 serial
70: 0 0 GIC 70 7000c000.i2c
71: 3 0 GIC 71 7000c380.spi
73: 0 0 GIC 73 timer0
88: 31 0 GIC 88
97: 0 0 GIC 97 host1x_syncpt
116: 0 0 GIC 116 7000c400.i2c
124: 16 0 GIC 124 7000c500.i2c
129: 109 0 GIC 129 ehci_hcd:usb3
130: 1 0 GIC 130 PCIE
131: 3018 0 GIC 131 Tegra PCIe MSI
136: 0 0 GIC 136 apbdma.0
137: 0 0 GIC 137 apbdma.1
138: 0 0 GIC 138 apbdma.2
139: 0 0 GIC 139 apbdma.3
140: 0 0 GIC 140 apbdma.4
141: 0 0 GIC 141 apbdma.5
142: 0 0 GIC 142 apbdma.6
143: 0 0 GIC 143 apbdma.7
144: 0 0 GIC 144 apbdma.8
145: 0 0 GIC 145 apbdma.9
146: 0 0 GIC 146 apbdma.10
147: 0 0 GIC 147 apbdma.11
148: 0 0 GIC 148 apbdma.12
149: 0 0 GIC 149 apbdma.13
150: 0 0 GIC 150 apbdma.14
151: 0 0 GIC 151 apbdma.15
281: 0 0 GPIO 121 c8000600.sdhci cd
350: 0 0 GPIO 190 Power
384: 0 0 Tegra PCIe MSI 0 PCIe PME
385: 3092 0 Tegra PCIe MSI 1 enp1s0
IPI0: 0 0 CPU wakeup interrupts
IPI1: 0 0 Timer broadcast interrupts
IPI2: 46294 22983 Rescheduling interrupts
IPI3: 0 0 Function call interrupts
IPI4: 218 159 Single function call interrupts
IPI5: 0 0 CPU stop interrupts
IPI6: 3760 2862 IRQ work interrupts
IPI7: 0 0 completion interrupts
Err: 0
[wcohen@localhost ~]$ perf report --stdio
# To display the perf.data header info, please use --header/--header-only options.
#
# Samples: 31 of event 'cycles'
# Event count (approx.): 6537847
#
# Overhead Command Shared Object Symbol
# ........ ....... ................. ...............................
#
8.18% ls [kernel.kallsyms] [k] vm_normal_page
7.74% ls [kernel.kallsyms] [k] copy_page
6.18% ls [kernel.kallsyms] [k] handle_mm_fault
6.12% ls [kernel.kallsyms] [k] 0x002d9d60
5.82% ls [kernel.kallsyms] [k] unmapped_area_topdown
5.12% ls [kernel.kallsyms] [k] avc_lookup
4.89% ls [kernel.kallsyms] [k] __memzero
4.50% ls [kernel.kallsyms] [k] _raw_spin_unlock_irqrestore
4.38% ls ld-2.18.so [.] _dl_relocate_object
4.30% ls [kernel.kallsyms] [k] __sync_icache_dcache
4.18% ls [kernel.kallsyms] [k] cpu_pj4b_set_pte_ext
4.08% ls [kernel.kallsyms] [k] avtab_search_node
4.04% ls [kernel.kallsyms] [k] strcmp
4.01% ls [kernel.kallsyms] [k] _find_first_bit_le
3.95% ls libc-2.18.so [.] _dl_addr
------------------------------------------------------------------------------
Slashdot TV.
Video for Nerds. Stuff that matters.
http://tv.slashdot.org/