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 <randy.dunlap@oracle.com> Acked-by: Pekka Paalanen <pq@iki.fi> LKML-Reference: <4B2C0D68.6080401@oracle.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
e36c54582c
commit
360b6e5cab
|
@ -44,7 +44,8 @@ Check for lost events.
|
||||||
Usage
|
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
|
$ mount -t debugfs debugfs /sys/kernel/debug
|
||||||
|
|
||||||
Check that the driver you are about to trace is not loaded.
|
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
|
$ 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
|
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
|
"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
|
How Mmiotrace Works
|
||||||
|
@ -100,7 +101,7 @@ How Mmiotrace Works
|
||||||
Access to hardware IO-memory is gained by mapping addresses from PCI bus by
|
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
|
calling one of the ioremap_*() functions. Mmiotrace is hooked into the
|
||||||
__ioremap() function and gets called whenever a mapping is created. Mapping is
|
__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.
|
are not caught, since the mapping always exists and is returned directly.
|
||||||
|
|
||||||
MMIO accesses are recorded via page faults. Just before __ioremap() returns,
|
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
|
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
|
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
|
dependent arguments. Arguments are separated by a space, or continue until the
|
||||||
end of line. The format for version 20070824 is as follows:
|
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
|
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
|
marker MARK timestamp, text
|
||||||
version VERSION the string "20070824"
|
version VERSION the string "20070824"
|
||||||
info for reader LSPCI one line from lspci -v
|
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
|
unk. opcode UNKNOWN timestamp, map id, physical, data, PC, PID
|
||||||
|
|
||||||
Timestamp is in seconds with decimals. Physical is a PCI bus address, virtual
|
Timestamp is in seconds with decimals. Physical is a PCI bus address, virtual
|
||||||
|
|
Loading…
Reference in New Issue