mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 22:21:40 +00:00
docs: perf: convert to ReST
Rename the perf documentation files to ReST, add an index for them and adjust in order to produce a nice html output via the Sphinx build system. At its new index.rst, let's add a :orphan: while this is not linked to the main index.rst file, in order to avoid build warnings. Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
parent
39443104c7
commit
6baec31591
@ -1,3 +1,4 @@
|
||||
==========================
|
||||
ARM Cache Coherent Network
|
||||
==========================
|
||||
|
||||
@ -29,6 +30,7 @@ Crosspoint watchpoint-based events (special "event" value 0xfe)
|
||||
require "xp" and "vc" as as above plus "port" (device port index),
|
||||
"dir" (transmit/receive direction), comparator values ("cmp_l"
|
||||
and "cmp_h") and "mask", being index of the comparator mask.
|
||||
|
||||
Masks are defined separately from the event description
|
||||
(due to limited number of the config values) in the "cmp_mask"
|
||||
directory, with first 8 configurable by user and additional
|
||||
@ -44,16 +46,16 @@ request the events on this processor (if not, the perf_event->cpu value
|
||||
will be overwritten anyway). In case of this processor being offlined,
|
||||
the events are migrated to another one and the attribute is updated.
|
||||
|
||||
Example of perf tool use:
|
||||
Example of perf tool use::
|
||||
|
||||
/ # perf list | grep ccn
|
||||
ccn/cycles/ [Kernel PMU event]
|
||||
<...>
|
||||
ccn/xp_valid_flit,xp=?,port=?,vc=?,dir=?/ [Kernel PMU event]
|
||||
<...>
|
||||
/ # perf list | grep ccn
|
||||
ccn/cycles/ [Kernel PMU event]
|
||||
<...>
|
||||
ccn/xp_valid_flit,xp=?,port=?,vc=?,dir=?/ [Kernel PMU event]
|
||||
<...>
|
||||
|
||||
/ # perf stat -a -e ccn/cycles/,ccn/xp_valid_flit,xp=1,port=0,vc=1,dir=1/ \
|
||||
sleep 1
|
||||
/ # perf stat -a -e ccn/cycles/,ccn/xp_valid_flit,xp=1,port=0,vc=1,dir=1/ \
|
||||
sleep 1
|
||||
|
||||
The driver does not support sampling, therefore "perf record" will
|
||||
not work. Per-task (without "-a") perf sessions are not supported.
|
@ -1,3 +1,4 @@
|
||||
==================================
|
||||
ARM DynamIQ Shared Unit (DSU) PMU
|
||||
==================================
|
||||
|
||||
@ -13,7 +14,7 @@ PMU doesn't support process specific events and cannot be used in sampling mode.
|
||||
The DSU provides a bitmap for a subset of implemented events via hardware
|
||||
registers. There is no way for the driver to determine if the other events
|
||||
are available or not. Hence the driver exposes only those events advertised
|
||||
by the DSU, in "events" directory under :
|
||||
by the DSU, in "events" directory under::
|
||||
|
||||
/sys/bus/event_sources/devices/arm_dsu_<N>/
|
||||
|
||||
@ -23,6 +24,6 @@ and use the raw event code for the unlisted events.
|
||||
The driver also exposes the CPUs connected to the DSU instance in "associated_cpus".
|
||||
|
||||
|
||||
e.g usage :
|
||||
e.g usage::
|
||||
|
||||
perf stat -a -e arm_dsu_0/cycles/
|
@ -1,5 +1,7 @@
|
||||
======================================================
|
||||
HiSilicon SoC uncore Performance Monitoring Unit (PMU)
|
||||
======================================================
|
||||
|
||||
The HiSilicon SoC chip includes various independent system device PMUs
|
||||
such as L3 cache (L3C), Hydra Home Agent (HHA) and DDRC. These PMUs are
|
||||
independent and have hardware logic to gather statistics and performance
|
||||
@ -11,11 +13,13 @@ called Super CPU cluster (SCCL) and is made up of 6 CCLs. Each SCCL has
|
||||
two HHAs (0 - 1) and four DDRCs (0 - 3), respectively.
|
||||
|
||||
HiSilicon SoC uncore PMU driver
|
||||
---------------------------------------
|
||||
-------------------------------
|
||||
|
||||
Each device PMU has separate registers for event counting, control and
|
||||
interrupt, and the PMU driver shall register perf PMU drivers like L3C,
|
||||
HHA and DDRC etc. The available events and configuration options shall
|
||||
be described in the sysfs, see :
|
||||
be described in the sysfs, see:
|
||||
|
||||
/sys/devices/hisi_sccl{X}_<l3c{Y}/hha{Y}/ddrc{Y}>/, or
|
||||
/sys/bus/event_source/devices/hisi_sccl{X}_<l3c{Y}/hha{Y}/ddrc{Y}>.
|
||||
The "perf list" command shall list the available events from sysfs.
|
||||
@ -24,27 +28,30 @@ Each L3C, HHA and DDRC is registered as a separate PMU with perf. The PMU
|
||||
name will appear in event listing as hisi_sccl<sccl-id>_module<index-id>.
|
||||
where "sccl-id" is the identifier of the SCCL and "index-id" is the index of
|
||||
module.
|
||||
|
||||
e.g. hisi_sccl3_l3c0/rd_hit_cpipe is READ_HIT_CPIPE event of L3C index #0 in
|
||||
SCCL ID #3.
|
||||
|
||||
e.g. hisi_sccl1_hha0/rx_operations is RX_OPERATIONS event of HHA index #0 in
|
||||
SCCL ID #1.
|
||||
|
||||
The driver also provides a "cpumask" sysfs attribute, which shows the CPU core
|
||||
ID used to count the uncore PMU event.
|
||||
|
||||
Example usage of perf:
|
||||
$# perf list
|
||||
hisi_sccl3_l3c0/rd_hit_cpipe/ [kernel PMU event]
|
||||
------------------------------------------
|
||||
hisi_sccl3_l3c0/wr_hit_cpipe/ [kernel PMU event]
|
||||
------------------------------------------
|
||||
hisi_sccl1_l3c0/rd_hit_cpipe/ [kernel PMU event]
|
||||
------------------------------------------
|
||||
hisi_sccl1_l3c0/wr_hit_cpipe/ [kernel PMU event]
|
||||
------------------------------------------
|
||||
Example usage of perf::
|
||||
|
||||
$# perf stat -a -e hisi_sccl3_l3c0/rd_hit_cpipe/ sleep 5
|
||||
$# perf stat -a -e hisi_sccl3_l3c0/config=0x02/ sleep 5
|
||||
$# perf list
|
||||
hisi_sccl3_l3c0/rd_hit_cpipe/ [kernel PMU event]
|
||||
------------------------------------------
|
||||
hisi_sccl3_l3c0/wr_hit_cpipe/ [kernel PMU event]
|
||||
------------------------------------------
|
||||
hisi_sccl1_l3c0/rd_hit_cpipe/ [kernel PMU event]
|
||||
------------------------------------------
|
||||
hisi_sccl1_l3c0/wr_hit_cpipe/ [kernel PMU event]
|
||||
------------------------------------------
|
||||
|
||||
$# perf stat -a -e hisi_sccl3_l3c0/rd_hit_cpipe/ sleep 5
|
||||
$# perf stat -a -e hisi_sccl3_l3c0/config=0x02/ sleep 5
|
||||
|
||||
The current driver does not support sampling. So "perf record" is unsupported.
|
||||
Also attach to a task is unsupported as the events are all uncore.
|
16
Documentation/perf/index.rst
Normal file
16
Documentation/perf/index.rst
Normal file
@ -0,0 +1,16 @@
|
||||
:orphan:
|
||||
|
||||
===========================
|
||||
Performance monitor support
|
||||
===========================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
hisi-pmu
|
||||
qcom_l2_pmu
|
||||
qcom_l3_pmu
|
||||
arm-ccn
|
||||
xgene-pmu
|
||||
arm_dsu_pmu
|
||||
thunderx2-pmu
|
@ -1,3 +1,4 @@
|
||||
=====================================================================
|
||||
Qualcomm Technologies Level-2 Cache Performance Monitoring Unit (PMU)
|
||||
=====================================================================
|
||||
|
||||
@ -28,7 +29,7 @@ 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:
|
||||
Examples for use with perf::
|
||||
|
||||
perf stat -e l2cache_0/config=0x001/,l2cache_0/config=0x042/ -a sleep 1
|
||||
|
@ -1,3 +1,4 @@
|
||||
===========================================================================
|
||||
Qualcomm Datacenter Technologies L3 Cache Performance Monitoring Unit (PMU)
|
||||
===========================================================================
|
||||
|
||||
@ -17,7 +18,7 @@ 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.:
|
||||
flag. E.g.::
|
||||
|
||||
perf stat -e l3cache_0_0/read-miss,lc/
|
||||
|
@ -1,3 +1,4 @@
|
||||
=============================================================
|
||||
Cavium ThunderX2 SoC Performance Monitoring Unit (PMU UNCORE)
|
||||
=============================================================
|
||||
|
||||
@ -24,18 +25,18 @@ and configuration options under sysfs, see
|
||||
The driver does not support sampling, therefore "perf record" will not
|
||||
work. Per-task perf sessions are also not supported.
|
||||
|
||||
Examples:
|
||||
Examples::
|
||||
|
||||
# perf stat -a -e uncore_dmc_0/cnt_cycles/ sleep 1
|
||||
# perf stat -a -e uncore_dmc_0/cnt_cycles/ sleep 1
|
||||
|
||||
# perf stat -a -e \
|
||||
uncore_dmc_0/cnt_cycles/,\
|
||||
uncore_dmc_0/data_transfers/,\
|
||||
uncore_dmc_0/read_txns/,\
|
||||
uncore_dmc_0/write_txns/ sleep 1
|
||||
# perf stat -a -e \
|
||||
uncore_dmc_0/cnt_cycles/,\
|
||||
uncore_dmc_0/data_transfers/,\
|
||||
uncore_dmc_0/read_txns/,\
|
||||
uncore_dmc_0/write_txns/ sleep 1
|
||||
|
||||
# perf stat -a -e \
|
||||
uncore_l3c_0/read_request/,\
|
||||
uncore_l3c_0/read_hit/,\
|
||||
uncore_l3c_0/inv_request/,\
|
||||
uncore_l3c_0/inv_hit/ sleep 1
|
||||
# perf stat -a -e \
|
||||
uncore_l3c_0/read_request/,\
|
||||
uncore_l3c_0/read_hit/,\
|
||||
uncore_l3c_0/inv_request/,\
|
||||
uncore_l3c_0/inv_hit/ sleep 1
|
@ -1,3 +1,4 @@
|
||||
================================================
|
||||
APM X-Gene SoC Performance Monitoring Unit (PMU)
|
||||
================================================
|
||||
|
||||
@ -33,7 +34,7 @@ each PMU, please refer to APM X-Gene User Manual.
|
||||
Each perf driver also provides a "cpumask" sysfs attribute, which contains a
|
||||
single CPU ID of the processor which will be used to handle all the PMU events.
|
||||
|
||||
Example for perf tool use:
|
||||
Example for perf tool use::
|
||||
|
||||
/ # perf list | grep -e l3c -e iob -e mcb -e mc
|
||||
l3c0/ackq-full/ [Kernel PMU event]
|
@ -1155,7 +1155,7 @@ APPLIED MICRO (APM) X-GENE SOC PMU
|
||||
M: Khuong Dinh <khuong@os.amperecomputing.com>
|
||||
S: Supported
|
||||
F: drivers/perf/xgene_pmu.c
|
||||
F: Documentation/perf/xgene-pmu.txt
|
||||
F: Documentation/perf/xgene-pmu.rst
|
||||
F: Documentation/devicetree/bindings/perf/apm-xgene-pmu.txt
|
||||
|
||||
APTINA CAMERA SENSOR PLL
|
||||
@ -7262,7 +7262,7 @@ M: Shaokun Zhang <zhangshaokun@hisilicon.com>
|
||||
W: http://www.hisilicon.com
|
||||
S: Supported
|
||||
F: drivers/perf/hisilicon
|
||||
F: Documentation/perf/hisi-pmu.txt
|
||||
F: Documentation/perf/hisi-pmu.rst
|
||||
|
||||
HISILICON ROCE DRIVER
|
||||
M: Lijun Ou <oulijun@huawei.com>
|
||||
|
@ -8,7 +8,7 @@
|
||||
* the slices. User space needs to aggregate to individual counts to provide
|
||||
* a global picture.
|
||||
*
|
||||
* See Documentation/perf/qcom_l3_pmu.txt for more details.
|
||||
* See Documentation/perf/qcom_l3_pmu.rst for more details.
|
||||
*
|
||||
* Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user