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: James Clark <james.clark@arm.com> Reviewed-by: Mike Leach <mike.leach@linaro.org> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com> Link: https://lore.kernel.org/r/20220511144601.2257870-3-james.clark@arm.com
This commit is contained in:
parent
2d693ed436
commit
bcc5834fba
|
@ -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.
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
|
|
||||||
|
|
||||||
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.
|
||||||
|
|
Loading…
Reference in New Issue