Link: https://lore.kernel.org/r/20260217200002.683975158@linuxfoundation.org Tested-by: Florian Fainelli <florian.fainelli@broadcom.com> Tested-by: Takeshi Ogasawara <takeshi.ogasawara@futuring-girl.com> Tested-by: Peter Schneider <pschneider1968@googlemail.com> Tested-by: Jon Hunter <jonathanh@nvidia.com> Tested-by: Salvatore Bonaccorso <carnil@debian.org> Tested-by: Brett A C Sheffield <bacs@librecast.net> Tested-by: Mark Brown <broonie@kernel.org> Tested-by: Luna Jernberg <droidbittin@gmail.com> Tested-by: Ronald Warsow <rwarsow@gmx.de> Tested-by: Justin M. Forbes <jforbes@fedoraproject.org> Tested-by: Ron Economos <re@w6rz.net> Tested-by: Miguel Ojeda <ojeda@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.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/bus/event_source/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.
|