-- -proposed kernel testing --

ubuntu@helo:~$ uname -a 
Linux helo 4.15.0-39-generic #42-Ubuntu SMP Tue Oct 23 15:43:48 UTC 2018 
aarch64 aarch64 aarch64 GNU/Linux
ubuntu@helo:~$

ubuntu@helo:~$ apt policy linux-image-generic
linux-image-generic:
  Installed: 4.15.0.39.41
  Candidate: 4.15.0.39.41
  Version table:
 *** 4.15.0.39.41 500
        500 http://ports.ubuntu.com/ubuntu-ports bionic-proposed/main arm64 
Packages
        100 /var/lib/dpkg/status
     4.15.0.38.40 500
        500 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main arm64 
Packages
     4.15.0.36.38 500
        500 http://ports.ubuntu.com/ubuntu-ports bionic-security/main arm64 
Packages
     4.15.0.20.23 500
        500 http://ports.ubuntu.com/ubuntu-ports bionic/main arm64 Packages
ubuntu@helo:~$ 

ubuntu@helo:~$ perf list

List of pre-defined events (to be used in -e):

  armv8_pmuv3_0/br_immed_retired/                    [Kernel PMU event]
  armv8_pmuv3_0/br_mis_pred/                         [Kernel PMU event]
  armv8_pmuv3_0/br_mis_pred_retired/                 [Kernel PMU event]
  armv8_pmuv3_0/br_pred/                             [Kernel PMU event]
  armv8_pmuv3_0/br_retired/                          [Kernel PMU event]
  armv8_pmuv3_0/br_return_retired/                   [Kernel PMU event]
  armv8_pmuv3_0/bus_access/                          [Kernel PMU event]
  armv8_pmuv3_0/bus_cycles/                          [Kernel PMU event]
  armv8_pmuv3_0/cid_write_retired/                   [Kernel PMU event]
  armv8_pmuv3_0/cpu_cycles/                          [Kernel PMU event]
  armv8_pmuv3_0/exc_return/                          [Kernel PMU event]
  armv8_pmuv3_0/exc_taken/                           [Kernel PMU event]
  armv8_pmuv3_0/inst_retired/                        [Kernel PMU event]
  armv8_pmuv3_0/inst_spec/                           [Kernel PMU event]
  armv8_pmuv3_0/l1d_cache/                           [Kernel PMU event]
  armv8_pmuv3_0/l1d_cache_allocate/                  [Kernel PMU event]
  armv8_pmuv3_0/l1d_cache_refill/                    [Kernel PMU event]
  armv8_pmuv3_0/l1d_cache_wb/                        [Kernel PMU event]
  armv8_pmuv3_0/l1d_tlb/                             [Kernel PMU event]
  armv8_pmuv3_0/l1d_tlb_refill/                      [Kernel PMU event]
  armv8_pmuv3_0/l1i_cache/                           [Kernel PMU event]
  armv8_pmuv3_0/l1i_cache_refill/                    [Kernel PMU event]
  armv8_pmuv3_0/l1i_tlb/                             [Kernel PMU event]
  armv8_pmuv3_0/l1i_tlb_refill/                      [Kernel PMU event]
  armv8_pmuv3_0/l2d_cache/                           [Kernel PMU event]
  armv8_pmuv3_0/l2d_cache_allocate/                  [Kernel PMU event]
  armv8_pmuv3_0/l2d_cache_refill/                    [Kernel PMU event]
  armv8_pmuv3_0/l2d_cache_wb/                        [Kernel PMU event]
  armv8_pmuv3_0/l2d_tlb/                             [Kernel PMU event]
  armv8_pmuv3_0/l2d_tlb_refill/                      [Kernel PMU event]
  armv8_pmuv3_0/ld_retired/                          [Kernel PMU event]
  armv8_pmuv3_0/mem_access/                          [Kernel PMU event]
  armv8_pmuv3_0/st_retired/                          [Kernel PMU event]
  armv8_pmuv3_0/stall_backend/                       [Kernel PMU event]
  armv8_pmuv3_0/stall_frontend/                      [Kernel PMU event]
  armv8_pmuv3_0/sw_incr/                             [Kernel PMU event]
  armv8_pmuv3_0/ttbr_write_retired/                  [Kernel PMU event]
  armv8_pmuv3_0/unaligned_ldst_retired/              [Kernel PMU event]

core imp def:
  bus_access_rd                                     
       [Bus access read]
  bus_access_wr                                     
       [Bus access write]
  exc_dabort                                        
       [Exception taken, Data Abort and SError]
  exc_fiq                                           
       [Exception taken, FIQ]
  exc_hvc                                           
       [Exception taken, Hypervisor Call]
  exc_irq                                           
       [Exception taken, IRQ]
  exc_pabort                                        
       [Exception taken, Instruction Abort]
  exc_smc                                           
       [Exception taken, Secure Monitor Call]
  exc_svc                                           
       [Exception taken, Supervisor Call]
  exc_trap_dabort                                   
       [Exception taken, Data Abort or SError not taken locally]
  exc_trap_fiq                                      
       [Exception taken, FIQ not taken locally]
  exc_trap_irq                                      
       [Exception taken, IRQ not taken locally]
  exc_trap_other                                    
       [Exception taken, Other traps not taken locally]
  exc_trap_pabort                                   
       [Exception taken, Instruction Abort not taken locally]
  exc_undef                                         
       [Exception taken, Other synchronous]
  l1d_cache_inval                                   
       [L1D cache invalidate]
  l1d_cache_rd                                      
       [L1D cache access, read]
  l1d_cache_refill_inner                            
       [L1D cache refill, inner]
  l1d_cache_refill_outer                            
       [L1D cache refill, outer]
  l1d_cache_refill_rd                               
       [L1D cache refill, read]
  l1d_cache_refill_wr                               
       [L1D cache refill, write]
  l1d_cache_wb_clean                                
       [L1D cache Write-Back, cleaning and coherency]
  l1d_cache_wb_victim                               
       [L1D cache Write-Back, victim]
  l1d_cache_wr                                      
       [L1D cache access, write]
  l1d_tlb_rd                                        
       [L1D tlb access, read]
  l1d_tlb_refill_rd                                 
       [L1D tlb refill, read]
  l1d_tlb_refill_wr                                 
       [L1D tlb refill, write]
  l1d_tlb_wr                                        
       [L1D tlb access, write]
  l2d_tlb_rd                                        
       [L2D cache access, read]
  l2d_tlb_refill_rd                                 
       [L2D cache refill, read]
  l2d_tlb_refill_wr                                 
       [L2D cache refill, write]
  l2d_tlb_wr                                        
       [L2D cache access, write]
  mem_access_rd                                     
       [Data memory access, read]
  mem_access_wr                                     
       [Data memory access, write]
  unaligned_ld_spec                                 
       [Unaligned access, read]
  unaligned_ldst_spec                               
       [Unaligned access]
  unaligned_st_spec                                 
       [Unaligned access, write]

  rNNN                                               [Raw hardware event descrip
  cpu/t1=v1[,t2=v2,t3 ...]/modifier                  [Raw hardware event descrip
   (see 'man perf-list' on how to encode it)

  mem:<addr>[/len][:access]                          [Hardware
breakpoint]

ubuntu@helo:~$

ubuntu@helo:~$  sudo perf stat -e 
l1d_cache_refill_rd,l1d_cache_refill_wr,armv8_pmuv3_0/l1d_cache_refill/ 
stress-ng -c 2 -i 1 -m 1 --vm-bytes 128M -t 10s
stress-ng: info:  [6096] dispatching hogs: 2 cpu, 1 io, 1 vm
stress-ng: info:  [6096] successful run completed in 10.86s

 Performance counter stats for 'stress-ng -c 2 -i 1 -m 1 --vm-bytes 128M
-t 10s':

         215192996      l1d_cache_refill_rd                                     
    
          68057599      l1d_cache_refill_wr                                     
    
         283250595      armv8_pmuv3_0/l1d_cache_refill/                         
          

      11.080157375 seconds time elapsed

ubuntu@helo:~$

ubuntu@helo:~$ sudo perf stat -e 
unaligned_ld_spec,unaligned_st_spec,unaligned_ldst_spec,mem_access_rd,mem_access_wr,armv8_pmuv3_0/mem_access/
 stress-ng -c 2 -i 1 -m 1 --vm-bytes 128M -t 10s
stress-ng: info:  [6107] dispatching hogs: 2 cpu, 1 io, 1 vm
stress-ng: info:  [6107] successful run completed in 10.28s

 Performance counter stats for 'stress-ng -c 2 -i 1 -m 1 --vm-bytes 128M
-t 10s':

           2925792      unaligned_ld_spec                                       
    
           4271379      unaligned_st_spec                                       
    
           7197171      unaligned_ldst_spec                                     
    
        2748840198      mem_access_rd                                           
    
        2108536216      mem_access_wr                                           
    
        4857376384      armv8_pmuv3_0/mem_access/                               
    

      10.609944930 seconds time elapsed

ubuntu@helo:~$


** Tags removed: verification-needed-bionic
** Tags added: verification-done-bionic

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1796904

Title:
  [Bionic] Update ThunderX2 implementation defined pmu core events

Status in linux package in Ubuntu:
  Triaged
Status in linux source package in Bionic:
  Fix Committed

Bug description:
  [IMPACT]
  =======
  The ARM architecture defines several events as part of the Performance 
Monitor Unit (PMU) Extension. In addition, Cavium has added "implementation 
defined" pmu core events, which Cavium deems most useful for analyzing 
performance. Currently perf does not list these "implementation defined" events.

  [FIX]
  ====
  b9b77222d4ff perf vendor events arm64: Update ThunderX2 implementation 
defined pmu core events

  [TEST]
  ====
  With the patch applied perf lists the additional PMU events.

  ubuntu@starbuck:~$ perf list

  List of pre-defined events (to be used in -e):

    armv8_pmuv3_0/br_immed_retired/                    [Kernel PMU event]
    armv8_pmuv3_0/br_mis_pred/                         [Kernel PMU event]
    armv8_pmuv3_0/br_mis_pred_retired/                 [Kernel PMU event]
    armv8_pmuv3_0/br_pred/                             [Kernel PMU event]
    armv8_pmuv3_0/br_retired/                          [Kernel PMU event]
    armv8_pmuv3_0/br_return_retired/                   [Kernel PMU event]
    armv8_pmuv3_0/bus_access/                          [Kernel PMU event]
    armv8_pmuv3_0/bus_cycles/                          [Kernel PMU event]
    armv8_pmuv3_0/cid_write_retired/                   [Kernel PMU event]
    armv8_pmuv3_0/cpu_cycles/                          [Kernel PMU event]
    armv8_pmuv3_0/exc_return/                          [Kernel PMU event]
    armv8_pmuv3_0/exc_taken/                           [Kernel PMU event]
    armv8_pmuv3_0/inst_retired/                        [Kernel PMU event]
    armv8_pmuv3_0/inst_spec/                           [Kernel PMU event]
    armv8_pmuv3_0/l1d_cache/                           [Kernel PMU event]
    armv8_pmuv3_0/l1d_cache_allocate/                  [Kernel PMU event]
    armv8_pmuv3_0/l1d_cache_refill/                    [Kernel PMU event]
    armv8_pmuv3_0/l1d_cache_wb/                        [Kernel PMU event]
    armv8_pmuv3_0/l1d_tlb/                             [Kernel PMU event]
    armv8_pmuv3_0/l1d_tlb_refill/                      [Kernel PMU event]
    armv8_pmuv3_0/l1i_cache/                           [Kernel PMU event]
    armv8_pmuv3_0/l1i_cache_refill/                    [Kernel PMU event]
    armv8_pmuv3_0/l1i_tlb/                             [Kernel PMU event]
    armv8_pmuv3_0/l1i_tlb_refill/                      [Kernel PMU event]
    armv8_pmuv3_0/l2d_cache/                           [Kernel PMU event]
    armv8_pmuv3_0/l2d_cache_allocate/                  [Kernel PMU event]
    armv8_pmuv3_0/l2d_cache_refill/                    [Kernel PMU event]
    armv8_pmuv3_0/l2d_cache_wb/                        [Kernel PMU event]
    armv8_pmuv3_0/l2d_tlb/                             [Kernel PMU event]
    armv8_pmuv3_0/l2d_tlb_refill/                      [Kernel PMU event]
    armv8_pmuv3_0/ld_retired/                          [Kernel PMU event]
    armv8_pmuv3_0/mem_access/                          [Kernel PMU event]
    armv8_pmuv3_0/st_retired/                          [Kernel PMU event]
    armv8_pmuv3_0/stall_backend/                       [Kernel PMU event]
    armv8_pmuv3_0/stall_frontend/                      [Kernel PMU event]
    armv8_pmuv3_0/sw_incr/                             [Kernel PMU event]
    armv8_pmuv3_0/ttbr_write_retired/                  [Kernel PMU event]
    armv8_pmuv3_0/unaligned_ldst_retired/              [Kernel PMU event]

  core imp def:
    bus_access_rd
         [Bus access read]
    bus_access_wr
         [Bus access write]
    exc_dabort
         [Exception taken, Data Abort and SError]
    exc_fiq
         [Exception taken, FIQ]
    exc_hvc
         [Exception taken, Hypervisor Call]
    exc_irq
         [Exception taken, IRQ]
    exc_pabort
         [Exception taken, Instruction Abort]
    exc_smc
         [Exception taken, Secure Monitor Call]
    exc_svc
         [Exception taken, Supervisor Call]
    exc_trap_dabort
         [Exception taken, Data Abort or SError not taken locally]
    exc_trap_fiq
         [Exception taken, FIQ not taken locally]
    exc_trap_irq
         [Exception taken, IRQ not taken locally]
    exc_trap_other
         [Exception taken, Other traps not taken locally]
    exc_trap_pabort
         [Exception taken, Instruction Abort not taken locally]
    exc_undef
         [Exception taken, Other synchronous]
    l1d_cache_inval
         [L1D cache invalidate]
    l1d_cache_rd
         [L1D cache access, read]
    l1d_cache_refill_inner
         [L1D cache refill, inner]
    l1d_cache_refill_outer
         [L1D cache refill, outer]
    l1d_cache_refill_rd
         [L1D cache refill, read]
    l1d_cache_refill_wr
         [L1D cache refill, write]
    l1d_cache_wb_clean
         [L1D cache Write-Back, cleaning and coherency]
    l1d_cache_wb_victim
         [L1D cache Write-Back, victim]
    l1d_cache_wr
         [L1D cache access, write]
    l1d_tlb_rd
         [L1D tlb access, read]
    l1d_tlb_refill_rd
         [L1D tlb refill, read]
    l1d_tlb_refill_wr
         [L1D tlb refill, write]
    l1d_tlb_wr
         [L1D tlb access, write]
    l2d_tlb_rd
         [L2D cache access, read]
    l2d_tlb_refill_rd
         [L2D cache refill, read]
    l2d_tlb_refill_wr
         [L2D cache refill, write]
    l2d_tlb_wr
         [L2D cache access, write]
    mem_access_rd
         [Data memory access, read]
    mem_access_wr
         [Data memory access, write]
    unaligned_ld_spec
         [Unaligned access, read]
    unaligned_ldst_spec
         [Unaligned access]
    unaligned_st_spec
         [Unaligned access, write]

    rNNN                                               [Raw hardware event 
descrip
    cpu/t1=v1[,t2=v2,t3 ...]/modifier                  [Raw hardware event 
descrip
     (see 'man perf-list' on how to encode it)

    mem:<addr>[/len][:access]                          [Hardware
  breakpoint]

  ubuntu@starbuck:~$

  [REGRESSION POTENTIAL]
  ======================
  The patch is limited to ARM64, ThunderX2 PMU core definitions json file. No 
regression potential for any kernel subsystems.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1796904/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to