2009-12-19 00:17:52

by Randy Dunlap

[permalink] [raw]
Subject: [PATCH 1/4] Documentation: update mmiotrace.txt

From: Randy Dunlap <[email protected]>

Fix typos, spellos, hyphenation, line lengths.

BTW: are there some userspace tools? There is a reference to some
at the wiki page, but there are no tools listed there.

Signed-off-by: Randy Dunlap <[email protected]>
Cc: Pekka Paalanen <[email protected]>
---
Documentation/trace/mmiotrace.txt | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)

--- lnx-2633-rc1.orig/Documentation/trace/mmiotrace.txt
+++ lnx-2633-rc1/Documentation/trace/mmiotrace.txt
@@ -44,7 +44,8 @@ Check for lost events.
Usage
-----

-Make sure debugfs is mounted to /sys/kernel/debug. If not, (requires root privileges)
+Make sure debugfs is mounted to /sys/kernel/debug.
+If not (requires root privileges):
$ mount -t debugfs debugfs /sys/kernel/debug

Check that the driver you are about to trace is not loaded.
@@ -91,7 +92,7 @@ $ dmesg > dmesg.txt
$ tar zcf pciid-nick-mmiotrace.tar.gz mydump.txt lspci.txt dmesg.txt
and then send the .tar.gz file. The trace compresses considerably. Replace
"pciid" and "nick" with the PCI ID or model name of your piece of hardware
-under investigation and your nick name.
+under investigation and your nickname.


How Mmiotrace Works
@@ -100,7 +101,7 @@ How Mmiotrace Works
Access to hardware IO-memory is gained by mapping addresses from PCI bus by
calling one of the ioremap_*() functions. Mmiotrace is hooked into the
__ioremap() function and gets called whenever a mapping is created. Mapping is
-an event that is recorded into the trace log. Note, that ISA range mappings
+an event that is recorded into the trace log. Note that ISA range mappings
are not caught, since the mapping always exists and is returned directly.

MMIO accesses are recorded via page faults. Just before __ioremap() returns,
@@ -122,11 +123,11 @@ Trace Log Format
----------------

The raw log is text and easily filtered with e.g. grep and awk. One record is
-one line in the log. A record starts with a keyword, followed by keyword
-dependant arguments. Arguments are separated by a space, or continue until the
+one line in the log. A record starts with a keyword, followed by keyword-
+dependent arguments. Arguments are separated by a space, or continue until the
end of line. The format for version 20070824 is as follows:

-Explanation Keyword Space separated arguments
+Explanation Keyword Space-separated arguments
---------------------------------------------------------------------------

read event R width, timestamp, map id, physical, value, PC, PID
@@ -136,7 +137,7 @@ iounmap event UNMAP timestamp, map id, P
marker MARK timestamp, text
version VERSION the string "20070824"
info for reader LSPCI one line from lspci -v
-PCI address map PCIDEV space separated /proc/bus/pci/devices data
+PCI address map PCIDEV space-separated /proc/bus/pci/devices data
unk. opcode UNKNOWN timestamp, map id, physical, data, PC, PID

Timestamp is in seconds with decimals. Physical is a PCI bus address, virtual


2009-12-19 10:39:48

by Pekka Paalanen

[permalink] [raw]
Subject: Re: [PATCH 1/4] Documentation: update mmiotrace.txt

On Fri, 18 Dec 2009 15:16:56 -0800
Randy Dunlap <[email protected]> wrote:

> From: Randy Dunlap <[email protected]>
>
> Fix typos, spellos, hyphenation, line lengths.
>
> BTW: are there some userspace tools? There is a reference to
> some at the wiki page, but there are no tools listed there.
>
> Signed-off-by: Randy Dunlap <[email protected]>
> Cc: Pekka Paalanen <[email protected]>
> ---
> Documentation/trace/mmiotrace.txt | 15 ++++++++-------
> 1 file changed, 8 insertions(+), 7 deletions(-)

Acked-by: Pekka Paalanen <[email protected]>

Yes, there are some shady user space tools. I moved the
references to the mmiotrace developer page:
http://nouveau.freedesktop.org/wiki/MmioTraceDeveloper
People recording traces do not need the tools, so I
removed them from the MmioTrace page to clarify it.

Here "developer" includes people analyzing the traces.
I added a note to the MmioTrace wiki page.

I'm not actively developing nor even maintaining those
tools anymore. I guess hardcore developers do not even need
them, they prefer reading hex. But, the tools should still be
in a working order. The documentation may be a bit scattered.

The tools are in http://cgit.freedesktop.org/~pq/mmio-trace/
and the Rules-ng parts are in
http://nouveau.cvs.sourceforge.net/nouveau/rules-ng/
More information is in the wiki.


Thanks.

--
Pekka Paalanen
http://www.iki.fi/pq/

2009-12-20 05:22:44

by Randy Dunlap

[permalink] [raw]
Subject: [tip:tracing/urgent] Documentation: Update mmiotrace.txt

Commit-ID: 360b6e5cab1cea1d838b0100956ce0d3dbccbb6f
Gitweb: http://git.kernel.org/tip/360b6e5cab1cea1d838b0100956ce0d3dbccbb6f
Author: Randy Dunlap <[email protected]>
AuthorDate: Fri, 18 Dec 2009 15:16:56 -0800
Committer: Ingo Molnar <[email protected]>
CommitDate: Sun, 20 Dec 2009 06:18:23 +0100

Documentation: Update mmiotrace.txt

Fix typos, spellos, hyphenation, line lengths.

BTW: are there some userspace tools? There is a reference to
some at the wiki page, but there are no tools listed there.

Signed-off-by: Randy Dunlap <[email protected]>
Acked-by: Pekka Paalanen <[email protected]>
LKML-Reference: <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
---
Documentation/trace/mmiotrace.txt | 15 ++++++++-------
1 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/Documentation/trace/mmiotrace.txt b/Documentation/trace/mmiotrace.txt
index 162effb..664e738 100644
--- a/Documentation/trace/mmiotrace.txt
+++ b/Documentation/trace/mmiotrace.txt
@@ -44,7 +44,8 @@ Check for lost events.
Usage
-----

-Make sure debugfs is mounted to /sys/kernel/debug. If not, (requires root privileges)
+Make sure debugfs is mounted to /sys/kernel/debug.
+If not (requires root privileges):
$ mount -t debugfs debugfs /sys/kernel/debug

Check that the driver you are about to trace is not loaded.
@@ -91,7 +92,7 @@ $ dmesg > dmesg.txt
$ tar zcf pciid-nick-mmiotrace.tar.gz mydump.txt lspci.txt dmesg.txt
and then send the .tar.gz file. The trace compresses considerably. Replace
"pciid" and "nick" with the PCI ID or model name of your piece of hardware
-under investigation and your nick name.
+under investigation and your nickname.


How Mmiotrace Works
@@ -100,7 +101,7 @@ How Mmiotrace Works
Access to hardware IO-memory is gained by mapping addresses from PCI bus by
calling one of the ioremap_*() functions. Mmiotrace is hooked into the
__ioremap() function and gets called whenever a mapping is created. Mapping is
-an event that is recorded into the trace log. Note, that ISA range mappings
+an event that is recorded into the trace log. Note that ISA range mappings
are not caught, since the mapping always exists and is returned directly.

MMIO accesses are recorded via page faults. Just before __ioremap() returns,
@@ -122,11 +123,11 @@ Trace Log Format
----------------

The raw log is text and easily filtered with e.g. grep and awk. One record is
-one line in the log. A record starts with a keyword, followed by keyword
-dependant arguments. Arguments are separated by a space, or continue until the
+one line in the log. A record starts with a keyword, followed by keyword-
+dependent arguments. Arguments are separated by a space, or continue until the
end of line. The format for version 20070824 is as follows:

-Explanation Keyword Space separated arguments
+Explanation Keyword Space-separated arguments
---------------------------------------------------------------------------

read event R width, timestamp, map id, physical, value, PC, PID
@@ -136,7 +137,7 @@ iounmap event UNMAP timestamp, map id, PC, PID
marker MARK timestamp, text
version VERSION the string "20070824"
info for reader LSPCI one line from lspci -v
-PCI address map PCIDEV space separated /proc/bus/pci/devices data
+PCI address map PCIDEV space-separated /proc/bus/pci/devices data
unk. opcode UNKNOWN timestamp, map id, physical, data, PC, PID

Timestamp is in seconds with decimals. Physical is a PCI bus address, virtual