Commit bcc5834f authored by James Clark's avatar James Clark Committed by Suzuki K Poulose

Documentation: coresight: Turn numbered subsections into real subsections

This is to allow them to be referenced in a later commit. There was
also a mistake where sysFS was introduced as section 2, but numbered
as section 1. And vice versa for 'Using perf framework'. This can't
happen with unnumbered sections.
Signed-off-by: default avatarJames Clark <james.clark@arm.com>
Reviewed-by: default avatarMike Leach <mike.leach@linaro.org>
Signed-off-by: default avatarSuzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/20220511144601.2257870-3-james.clark@arm.com
parent 2d693ed4
...@@ -339,7 +339,8 @@ Preference is given to the former as using the sysFS interface ...@@ -339,7 +339,8 @@ Preference is given to the former as using the sysFS interface
requires a deep understanding of the Coresight HW. The following sections requires a deep understanding of the Coresight HW. The following sections
provide details on using both methods. provide details on using both methods.
1) Using the sysFS interface: Using the sysFS interface
~~~~~~~~~~~~~~~~~~~~~~~~~
Before trace collection can start, a coresight sink needs to be identified. Before trace collection can start, a coresight sink needs to be identified.
There is no limit on the amount of sinks (nor sources) that can be enabled at There is no limit on the amount of sinks (nor sources) that can be enabled at
...@@ -446,7 +447,8 @@ wealth of possibilities that coresight provides. ...@@ -446,7 +447,8 @@ wealth of possibilities that coresight provides.
Instruction 0 0x8026B588 E8BD8000 true LDM sp!,{pc} Instruction 0 0x8026B588 E8BD8000 true LDM sp!,{pc}
Timestamp Timestamp: 17107041535 Timestamp Timestamp: 17107041535
2) Using perf framework: Using perf framework
~~~~~~~~~~~~~~~~~~~~
Coresight tracers are represented using the Perf framework's Performance Coresight tracers are represented using the Perf framework's Performance
Monitoring Unit (PMU) abstraction. As such the perf framework takes charge of Monitoring Unit (PMU) abstraction. As such the perf framework takes charge of
...@@ -495,7 +497,11 @@ More information on the above and other example on how to use Coresight with ...@@ -495,7 +497,11 @@ More information on the above and other example on how to use Coresight with
the perf tools can be found in the "HOWTO.md" file of the openCSD gitHub the perf tools can be found in the "HOWTO.md" file of the openCSD gitHub
repository [#third]_. repository [#third]_.
2.1) AutoFDO analysis using the perf tools: Advanced perf framework usage
-----------------------------
AutoFDO analysis using the perf tools
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
perf can be used to record and analyze trace of programs. perf can be used to record and analyze trace of programs.
...@@ -513,7 +519,8 @@ The --itrace option controls the type and frequency of synthesized events ...@@ -513,7 +519,8 @@ The --itrace option controls the type and frequency of synthesized events
Note that only 64-bit programs are currently supported - further work is Note that only 64-bit programs are currently supported - further work is
required to support instruction decode of 32-bit Arm programs. required to support instruction decode of 32-bit Arm programs.
2.2) Tracing PID Tracing PID
~~~~~~~~~~~
The kernel can be built to write the PID value into the PE ContextID registers. The kernel can be built to write the PID value into the PE ContextID registers.
For a kernel running at EL1, the PID is stored in CONTEXTIDR_EL1. A PE may For a kernel running at EL1, the PID is stored in CONTEXTIDR_EL1. A PE may
...@@ -547,7 +554,7 @@ wants to trace PIDs for both host and guest, the two configs "contextid1" and ...@@ -547,7 +554,7 @@ wants to trace PIDs for both host and guest, the two configs "contextid1" and
Generating coverage files for Feedback Directed Optimization: AutoFDO Generating coverage files for Feedback Directed Optimization: AutoFDO
--------------------------------------------------------------------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'perf inject' accepts the --itrace option in which case tracing data is 'perf inject' accepts the --itrace option in which case tracing data is
removed and replaced with the synthesized events. e.g. removed and replaced with the synthesized events. e.g.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment