556da13434
To allow setting an appropriate parent for the struct pmu device remove existing references to /sys/devices/ path. Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Link: https://lore.kernel.org/r/20240412161057.14099-14-Jonathan.Cameron@huawei.com Signed-off-by: Will Deacon <will@kernel.org>
40 lines
1.6 KiB
ReStructuredText
40 lines
1.6 KiB
ReStructuredText
=====================================================================
|
|
Qualcomm Technologies Level-2 Cache Performance Monitoring Unit (PMU)
|
|
=====================================================================
|
|
|
|
This driver supports the L2 cache clusters found in Qualcomm Technologies
|
|
Centriq SoCs. There are multiple physical L2 cache clusters, each with their
|
|
own PMU. Each cluster has one or more CPUs associated with it.
|
|
|
|
There is one logical L2 PMU exposed, which aggregates the results from
|
|
the physical PMUs.
|
|
|
|
The driver provides a description of its available events and configuration
|
|
options in sysfs, see /sys/bus/event_source/devices/l2cache_0.
|
|
|
|
The "format" directory describes the format of the events.
|
|
|
|
Events can be envisioned as a 2-dimensional array. Each column represents
|
|
a group of events. There are 8 groups. Only one entry from each
|
|
group can be in use at a time. If multiple events from the same group
|
|
are specified, the conflicting events cannot be counted at the same time.
|
|
|
|
Events are specified as 0xCCG, where CC is 2 hex digits specifying
|
|
the code (array row) and G specifies the group (column) 0-7.
|
|
|
|
In addition there is a cycle counter event specified by the value 0xFE
|
|
which is outside the above scheme.
|
|
|
|
The driver provides a "cpumask" sysfs attribute which contains a mask
|
|
consisting of one CPU per cluster which will be used to handle all the PMU
|
|
events on that cluster.
|
|
|
|
Examples for use with perf::
|
|
|
|
perf stat -e l2cache_0/config=0x001/,l2cache_0/config=0x042/ -a sleep 1
|
|
|
|
perf stat -e l2cache_0/config=0xfe/ -C 2 sleep 1
|
|
|
|
The driver does not support sampling, therefore "perf record" will
|
|
not work. Per-task perf sessions are not supported.
|