[Pdbg] [PATCH] htm: Documentation update

Michael Neuling mikey at neuling.org
Fri Aug 3 11:42:17 AEST 2018


Signed-off-by: Michael Neuling <mikey at neuling.org>
---
 README.md | 45 +++++++++++++++++++++++++++++----------------
 1 file changed, 29 insertions(+), 16 deletions(-)

diff --git a/README.md b/README.md
index a698703709..878e6d3419 100644
--- a/README.md
+++ b/README.md
@@ -329,26 +329,39 @@ $  sudo ./pdbg -p 0  getmem -ci 0x0003ffff40000000 4 |hexdump -C
 00000004
 ```
 
-### Hardware Trace Macro
+### Hardware Trace Macro (HTM)
 
-Expoitation of HTM is limited to POWER9 NestHTM from the powerpc host.
-POWER8 (core and nest).
+Exploitation of HTM is limited to POWER8 Core from the powerpc host.
 
-pdbg provides a `htm` command with a variety of subcommands the most
+#### Prerequisites
+
+Core HTM on POWER8 needs to run SMT1 and no power save, so you need to
+run this first:
+```
+ppc64_cpu --smt=1
+for i in /sys/devices/system/cpu/cpu*/cpuidle/state*/disable;do echo 1 > $i;done
+```
+Also, using HTM requires a kernel built with both `CONFIG_PPC_MEMTRACE=y`
+(v4.14) and `CONFIG_SCOM_DEBUGFS=y`. debugfs should be mounted at
+`/sys/kernel/debug`. Ubuntu 18.04 has this by default.
+
+#### How to run HTM
+
+pdbg provides a `htm` command with a variety of sub-commands. The most
 useful command is `record` which will start the trace, wait for buffer
-to fill (~1 sec), stop and then dump (~5 sec). eg.
+to fill (~1 sec), stop and then dump the trace to a file (~5 sec). eg.
+```
+pdbg -l 0 htm core record
+```
+pdbg -l allows users to specify CPUs using the same addressing as
+scheme as taskset -c. This can be useful for tracing workloads. eg.
 ```
-pdbg -p0 -c4 core htm record
+taskset -c 0 myworkload
+sleep 1
+pdbg -l 0 htm core record
 ```
-There are also low level commands which can also be used:
+There are also low level htm commands which can also be used:
  - `start` will configure the hardware and start tracing in wrapping mode.
- - `stop` will still stop the trace and deconfigure the hardware
- - `dump` will dump the trace to a file
+ - `stop` will still stop the trace and de-configure the hardware.
+ - `dump` will dump the trace to a file.
 
-If you are running into a checkstop issue, `htm status` will print the
-physical address of the buffer it is tracing into and the BMC can be
-used to recover this memory after checkstop see `getmem`.
-
-Using HTM requires a kernel built with both `CONFIG_PPC_MEMTRACE=y`
-(v4.14) and `CONFIG_SCOM_DEBUGFS=y`. debugfs should be mounted at
-`/sys/kernel/debug`. Ubuntu 18.04 has this by default.
-- 
2.17.1



More information about the Pdbg mailing list