ubuntu@starbuck:~$ 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:  [4212] dispatching hogs: 2 cpu, 1 io, 1 vm
stress-ng: info:  [4212] successful run completed in 10.02s

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

           3846782      unaligned_ld_spec                                       
    
           6641633      unaligned_st_spec                                       
    
          10488415      unaligned_ldst_spec                                     
    
       10332730839      mem_access_rd                                           
    
        8017909227      mem_access_wr                                           
    
       18350639845      armv8_pmuv3_0/mem_access/                               
    

      10.083796005 seconds time elapsed

ubuntu@starbuck:~$

-- 
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:
  Incomplete

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