[PATCH umr 1/2] enable follow_ib by default now
Tom St Denis
tom.stdenis at amd.com
Mon Apr 2 15:44:49 UTC 2018
Signed-off-by: Tom St Denis <tom.stdenis at amd.com>
---
doc/sphinx/source/basic.rst | 66 ++++++++++++++++++++++-----------------------
doc/sphinx/source/ring.rst | 17 ------------
doc/umr.1 | 4 +--
src/app/main.c | 7 ++---
4 files changed, 39 insertions(+), 55 deletions(-)
diff --git a/doc/sphinx/source/basic.rst b/doc/sphinx/source/basic.rst
index dc63ad0a0277..8d6db65aa88a 100644
--- a/doc/sphinx/source/basic.rst
+++ b/doc/sphinx/source/basic.rst
@@ -104,39 +104,39 @@ comma separator.
The options available are:
-+-------------+------------------------------------------------------------------------------+
-| **Option** | **Description** |
-+-------------+------------------------------------------------------------------------------+
-| quiet | Disable various informative outputs that are not required for functionality. |
-+-------------+------------------------------------------------------------------------------+
-| read_smc | Enable scanning of SMC registers when issuing a --scan command |
-+-------------+------------------------------------------------------------------------------+
-| bits | Enables the display of bitfields when registers are presented |
-+-------------+------------------------------------------------------------------------------+
-| bitsfull | When printing bits use the full path to the bitfield |
-+-------------+------------------------------------------------------------------------------+
-| empty_log | Empty MMIO tracer after reading it |
-+-------------+------------------------------------------------------------------------------+
-| follow | Tells --logscan to continually read the MMIO tracer |
-+-------------+------------------------------------------------------------------------------+
-| follow_ib | Instructs the --ring command to follow IBs pointed to by the ring |
-+-------------+------------------------------------------------------------------------------+
-| named | Tells --read to print out the register name along with the value |
-+-------------+------------------------------------------------------------------------------+
-| many | Allows matching of register names openly. Used with --read and implies the |
-| | *named* option. For instance: '\*.dce100.CRTC' will match any register that |
-| | contains the fragment 'CRTC' in it. |
-+-------------+------------------------------------------------------------------------------+
-| use_pci | Enables direct PCI access bypassing the kernels debugfs entries. |
-+-------------+------------------------------------------------------------------------------+
-| use_colour | Enables colourful output in various commands. Also accepts use_color |
-+-------------+------------------------------------------------------------------------------+
-| no_kernel | Attempts to avoid kernel access methods. Implies *use_pci*. |
-+-------------+------------------------------------------------------------------------------+
-| verbose | Enables verbose output, for instance in VM decoding |
-+-------------+------------------------------------------------------------------------------+
-| halt_waves | Halt active waves while reading wave status data |
-+-------------+------------------------------------------------------------------------------+
++--------------+------------------------------------------------------------------------------+
+| **Option** | **Description** |
++--------------+------------------------------------------------------------------------------+
+| quiet | Disable various informative outputs that are not required for functionality. |
++--------------+------------------------------------------------------------------------------+
+| read_smc | Enable scanning of SMC registers when issuing a --scan command |
++--------------+------------------------------------------------------------------------------+
+| bits | Enables the display of bitfields when registers are presented |
++--------------+------------------------------------------------------------------------------+
+| bitsfull | When printing bits use the full path to the bitfield |
++--------------+------------------------------------------------------------------------------+
+| empty_log | Empty MMIO tracer after reading it |
++--------------+------------------------------------------------------------------------------+
+| follow | Tells --logscan to continually read the MMIO tracer |
++--------------+------------------------------------------------------------------------------+
+| no_follow_ib | Instructs the --ring command to not follow IBs pointed to by the ring |
++--------------+------------------------------------------------------------------------------+
+| named | Tells --read to print out the register name along with the value |
++--------------+------------------------------------------------------------------------------+
+| many | Allows matching of register names openly. Used with --read and implies the |
+| | *named* option. For instance: '\*.dce100.CRTC' will match any register that |
+| | contains the fragment 'CRTC' in it. |
++--------------+------------------------------------------------------------------------------+
+| use_pci | Enables direct PCI access bypassing the kernels debugfs entries. |
++--------------+------------------------------------------------------------------------------+
+| use_colour | Enables colourful output in various commands. Also accepts use_color |
++--------------+------------------------------------------------------------------------------+
+| no_kernel | Attempts to avoid kernel access methods. Implies *use_pci*. |
++--------------+------------------------------------------------------------------------------+
+| verbose | Enables verbose output, for instance in VM decoding |
++--------------+------------------------------------------------------------------------------+
+| halt_waves | Halt active waves while reading wave status data |
++--------------+------------------------------------------------------------------------------+
------------------
Device Information
diff --git a/doc/sphinx/source/ring.rst b/doc/sphinx/source/ring.rst
index d8e69c678174..e498e9358e6b 100644
--- a/doc/sphinx/source/ring.rst
+++ b/doc/sphinx/source/ring.rst
@@ -120,20 +120,3 @@ Bitfield Decoding
The ring decoders also support decoding bitfields when register
writes are detected. This is enabled with the 'bits' option.
-
--------------------
-Following IB chains
--------------------
-
-By default, IB pointers are not followed when detected in packets.
-Typically, this will require some sort of access to system memory
-since often IBs are stored in system memory. Following IB chains can
-be enabled with the 'follow_ib' option, for instance:
-
-::
-
- umr -O follow_ib --ring gfx[.]
-
-Note that this is particularly only useful for hung GPUs as the virtual
-addresses will quickly expire on live systems.
-
diff --git a/doc/umr.1 b/doc/umr.1
index ec4db7b9a12d..c64855ca439f 100644
--- a/doc/umr.1
+++ b/doc/umr.1
@@ -137,8 +137,8 @@ separated strings. Options should be specified before --update or --force comma
Causes the --logscan command to repeatedly produce output without
exiting.
-.B follow_ib
- Instruct the --ring command to attempt to follow IBs pointed to by the packets
+.B no_follow_ib
+ Instruct the --ring command to not attempt to follow IBs pointed to by the packets
in the ring.
.B named
diff --git a/src/app/main.c b/src/app/main.c
index 222f9de208d7..cea6ac2e1069 100644
--- a/src/app/main.c
+++ b/src/app/main.c
@@ -105,8 +105,8 @@ static void parse_options(char *str)
options.read_smc = 1;
} else if (!strcmp(option, "quiet")) {
options.quiet = 1;
- } else if (!strcmp(option, "follow_ib")) {
- options.follow_ib = 1;
+ } else if (!strcmp(option, "no_follow_ib")) {
+ options.follow_ib = 0;
} else if (!strcmp(option, "verbose")) {
options.verbose = 1;
} else if (!strcmp(option, "halt_waves")) {
@@ -136,6 +136,7 @@ int main(int argc, char **argv)
options.need_scan = 1;
options.forcedid = -1;
options.scanblock = "";
+ options.follow_ib = 1;
for (i = 1; i < argc; i++) {
if (!strcmp(argv[i], "--instance") || !strcmp(argv[i], "-i")) {
@@ -539,7 +540,7 @@ int main(int argc, char **argv)
"\n\t\tdecodings.\n"
"\n\t--vm-write, -vw [<vmid>@]<address> <size>"
"\n\t\tWrite 'size' bytes (in hex) to a given address (in hex) from stdin.\n"
-"\n\t--option -O <string>[,<string>,...]\n\t\tEnable various flags: bits, bitsfull, empty_log, follow, follow_ib, named, many,"
+"\n\t--option -O <string>[,<string>,...]\n\t\tEnable various flags: bits, bitsfull, empty_log, follow, no_follow_ib, named, many,"
"\n\t\tuse_pci, use_colour, read_smc, quiet, no_kernel, verbose, halt_waves.\n"
"\n\n", UMR_BUILD_VER, UMR_BUILD_REV);
exit(EXIT_SUCCESS);
--
2.14.3
More information about the amd-gfx
mailing list