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/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.