Back to home page

OSCL-LXR

 
 

    


0001 =====================================================================
0002 Qualcomm Technologies Level-2 Cache Performance Monitoring Unit (PMU)
0003 =====================================================================
0004 
0005 This driver supports the L2 cache clusters found in Qualcomm Technologies
0006 Centriq SoCs. There are multiple physical L2 cache clusters, each with their
0007 own PMU. Each cluster has one or more CPUs associated with it.
0008 
0009 There is one logical L2 PMU exposed, which aggregates the results from
0010 the physical PMUs.
0011 
0012 The driver provides a description of its available events and configuration
0013 options in sysfs, see /sys/devices/l2cache_0.
0014 
0015 The "format" directory describes the format of the events.
0016 
0017 Events can be envisioned as a 2-dimensional array. Each column represents
0018 a group of events. There are 8 groups. Only one entry from each
0019 group can be in use at a time. If multiple events from the same group
0020 are specified, the conflicting events cannot be counted at the same time.
0021 
0022 Events are specified as 0xCCG, where CC is 2 hex digits specifying
0023 the code (array row) and G specifies the group (column) 0-7.
0024 
0025 In addition there is a cycle counter event specified by the value 0xFE
0026 which is outside the above scheme.
0027 
0028 The driver provides a "cpumask" sysfs attribute which contains a mask
0029 consisting of one CPU per cluster which will be used to handle all the PMU
0030 events on that cluster.
0031 
0032 Examples for use with perf::
0033 
0034   perf stat -e l2cache_0/config=0x001/,l2cache_0/config=0x042/ -a sleep 1
0035 
0036   perf stat -e l2cache_0/config=0xfe/ -C 2 sleep 1
0037 
0038 The driver does not support sampling, therefore "perf record" will
0039 not work. Per-task perf sessions are not supported.