mirror of
https://github.com/torvalds/linux.git
synced 2024-12-04 18:13:04 +00:00
59809fe882
The perf infrastructure is used for userspace to track issues. At least a good part of what's described here is related to it. So, add it to the admin-guide. Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
27 lines
1.4 KiB
ReStructuredText
27 lines
1.4 KiB
ReStructuredText
===========================================================================
|
|
Qualcomm Datacenter Technologies L3 Cache Performance Monitoring Unit (PMU)
|
|
===========================================================================
|
|
|
|
This driver supports the L3 cache PMUs found in Qualcomm Datacenter Technologies
|
|
Centriq SoCs. The L3 cache on these SOCs is composed of multiple slices, shared
|
|
by all cores within a socket. Each slice is exposed as a separate uncore perf
|
|
PMU with device name l3cache_<socket>_<instance>. User space is responsible
|
|
for aggregating across slices.
|
|
|
|
The driver provides a description of its available events and configuration
|
|
options in sysfs, see /sys/devices/l3cache*. Given that these are uncore PMUs
|
|
the driver also exposes a "cpumask" sysfs attribute which contains a mask
|
|
consisting of one CPU per socket which will be used to handle all the PMU
|
|
events on that socket.
|
|
|
|
The hardware implements 32bit event counters and has a flat 8bit event space
|
|
exposed via the "event" format attribute. In addition to the 32bit physical
|
|
counters the driver supports virtual 64bit hardware counters by using hardware
|
|
counter chaining. This feature is exposed via the "lc" (long counter) format
|
|
flag. E.g.::
|
|
|
|
perf stat -e l3cache_0_0/read-miss,lc/
|
|
|
|
Given that these are uncore PMUs the driver does not support sampling, therefore
|
|
"perf record" will not work. Per-task perf sessions are not supported.
|