316 lines
12 KiB
Diff
316 lines
12 KiB
Diff
From 926642e8644c860c77141b8251767e1485c6427c Mon Sep 17 00:00:00 2001
|
|
From: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
|
Date: Thu, 18 Apr 2019 17:35:40 -0300
|
|
Subject: [PATCH 07/55] docs: perf: convert to ReST
|
|
|
|
mainline inclusion
|
|
from mainline-v5.3-rc1
|
|
commit 6baec31591cee0f2f6d446abb81c828499a6ed23
|
|
category: feature
|
|
bugzilla: https://gitee.com/openeuler/kernel/issues/I8AU2M
|
|
|
|
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6baec31591cee0f2f6d446abb81c828499a6ed23
|
|
|
|
---------------------------------------------------------------------
|
|
|
|
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>
|
|
Signed-off-by: hongrongxuan <hongrongxuan@huawei.com>
|
|
---
|
|
.../perf/{arm-ccn.txt => arm-ccn.rst} | 18 +++++----
|
|
.../perf/{arm_dsu_pmu.txt => arm_dsu_pmu.rst} | 5 ++-
|
|
.../perf/{hisi-pmu.txt => hisi-pmu.rst} | 37 +++++++++++--------
|
|
Documentation/perf/index.rst | 16 ++++++++
|
|
.../perf/{qcom_l2_pmu.txt => qcom_l2_pmu.rst} | 3 +-
|
|
.../perf/{qcom_l3_pmu.txt => qcom_l3_pmu.rst} | 3 +-
|
|
.../perf/{xgene-pmu.txt => xgene-pmu.rst} | 3 +-
|
|
MAINTAINERS | 4 +-
|
|
drivers/perf/qcom_l3_pmu.c | 2 +-
|
|
9 files changed, 60 insertions(+), 31 deletions(-)
|
|
rename Documentation/perf/{arm-ccn.txt => arm-ccn.rst} (86%)
|
|
rename Documentation/perf/{arm_dsu_pmu.txt => arm_dsu_pmu.rst} (92%)
|
|
rename Documentation/perf/{hisi-pmu.txt => hisi-pmu.rst} (73%)
|
|
create mode 100644 Documentation/perf/index.rst
|
|
rename Documentation/perf/{qcom_l2_pmu.txt => qcom_l2_pmu.rst} (94%)
|
|
rename Documentation/perf/{qcom_l3_pmu.txt => qcom_l3_pmu.rst} (93%)
|
|
rename Documentation/perf/{xgene-pmu.txt => xgene-pmu.rst} (96%)
|
|
|
|
diff --git a/Documentation/perf/arm-ccn.txt b/Documentation/perf/arm-ccn.rst
|
|
similarity index 86%
|
|
rename from Documentation/perf/arm-ccn.txt
|
|
rename to Documentation/perf/arm-ccn.rst
|
|
index 15cdb7bc57c3..832b0c64023a 100644
|
|
--- a/Documentation/perf/arm-ccn.txt
|
|
+++ b/Documentation/perf/arm-ccn.rst
|
|
@@ -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.
|
|
diff --git a/Documentation/perf/arm_dsu_pmu.txt b/Documentation/perf/arm_dsu_pmu.rst
|
|
similarity index 92%
|
|
rename from Documentation/perf/arm_dsu_pmu.txt
|
|
rename to Documentation/perf/arm_dsu_pmu.rst
|
|
index d611e15f5add..7fd34db75d13 100644
|
|
--- a/Documentation/perf/arm_dsu_pmu.txt
|
|
+++ b/Documentation/perf/arm_dsu_pmu.rst
|
|
@@ -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/
|
|
diff --git a/Documentation/perf/hisi-pmu.txt b/Documentation/perf/hisi-pmu.rst
|
|
similarity index 73%
|
|
rename from Documentation/perf/hisi-pmu.txt
|
|
rename to Documentation/perf/hisi-pmu.rst
|
|
index 267a028b2741..404a5c3d9d00 100644
|
|
--- a/Documentation/perf/hisi-pmu.txt
|
|
+++ b/Documentation/perf/hisi-pmu.rst
|
|
@@ -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]
|
|
-------------------------------------------
|
|
-
|
|
-$# perf stat -a -e hisi_sccl3_l3c0/rd_hit_cpipe/ sleep 5
|
|
-$# perf stat -a -e hisi_sccl3_l3c0/config=0x02/ sleep 5
|
|
+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]
|
|
+ ------------------------------------------
|
|
+
|
|
+ $# 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.
|
|
diff --git a/Documentation/perf/index.rst b/Documentation/perf/index.rst
|
|
new file mode 100644
|
|
index 000000000000..4bf848e27f26
|
|
--- /dev/null
|
|
+++ b/Documentation/perf/index.rst
|
|
@@ -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
|
|
diff --git a/Documentation/perf/qcom_l2_pmu.txt b/Documentation/perf/qcom_l2_pmu.rst
|
|
similarity index 94%
|
|
rename from Documentation/perf/qcom_l2_pmu.txt
|
|
rename to Documentation/perf/qcom_l2_pmu.rst
|
|
index b25b97659ab9..c130178a4a55 100644
|
|
--- a/Documentation/perf/qcom_l2_pmu.txt
|
|
+++ b/Documentation/perf/qcom_l2_pmu.rst
|
|
@@ -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
|
|
|
|
diff --git a/Documentation/perf/qcom_l3_pmu.txt b/Documentation/perf/qcom_l3_pmu.rst
|
|
similarity index 93%
|
|
rename from Documentation/perf/qcom_l3_pmu.txt
|
|
rename to Documentation/perf/qcom_l3_pmu.rst
|
|
index 96b3a9444a0d..a3d014a46bfd 100644
|
|
--- a/Documentation/perf/qcom_l3_pmu.txt
|
|
+++ b/Documentation/perf/qcom_l3_pmu.rst
|
|
@@ -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/
|
|
|
|
diff --git a/Documentation/perf/xgene-pmu.txt b/Documentation/perf/xgene-pmu.rst
|
|
similarity index 96%
|
|
rename from Documentation/perf/xgene-pmu.txt
|
|
rename to Documentation/perf/xgene-pmu.rst
|
|
index d7cff4454e5b..644f8ed89152 100644
|
|
--- a/Documentation/perf/xgene-pmu.txt
|
|
+++ b/Documentation/perf/xgene-pmu.rst
|
|
@@ -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]
|
|
diff --git a/MAINTAINERS b/MAINTAINERS
|
|
index 5d0b782c973c..0b2a68401b0e 100644
|
|
--- a/MAINTAINERS
|
|
+++ b/MAINTAINERS
|
|
@@ -1040,7 +1040,7 @@ APPLIED MICRO (APM) X-GENE SOC PMU
|
|
M: Tai Nguyen <ttnguyen@apm.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
|
|
@@ -6663,7 +6663,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 PTT DRIVER
|
|
M: Yicong Yang <yangyicong@hisilicon.com>
|
|
diff --git a/drivers/perf/qcom_l3_pmu.c b/drivers/perf/qcom_l3_pmu.c
|
|
index b349e7bf4dd9..cc88dc92577e 100644
|
|
--- a/drivers/perf/qcom_l3_pmu.c
|
|
+++ b/drivers/perf/qcom_l3_pmu.c
|
|
@@ -7,7 +7,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.
|
|
*
|
|
--
|
|
2.27.0
|
|
|