aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorAnton Vorontsov <anton.vorontsov@linaro.org>2012-07-09 20:10:44 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-07-17 13:14:17 -0400
commita694d1b5916a486ce25fb5f2b39f2627f7afd5f3 (patch)
tree541a95c58880019cffe90c79a9468746893caa0d /Documentation
parentc2b7113261c5bb49031a15b833e59ea2d8ec4074 (diff)
pstore/ram: Add ftrace messages handling
The ftrace log size is configurable via ramoops.ftrace_size module option, and the log itself is available via <pstore-mount>/ftrace-ramoops file. Signed-off-by: Anton Vorontsov <anton.vorontsov@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/ramoops.txt25
1 files changed, 25 insertions, 0 deletions
diff --git a/Documentation/ramoops.txt b/Documentation/ramoops.txt
index 59a74a8ee2e5..197ad59ab9bf 100644
--- a/Documentation/ramoops.txt
+++ b/Documentation/ramoops.txt
@@ -94,3 +94,28 @@ timestamp and a new line. The dump then continues with the actual data.
94The dump data can be read from the pstore filesystem. The format for these 94The dump data can be read from the pstore filesystem. The format for these
95files is "dmesg-ramoops-N", where N is the record number in memory. To delete 95files is "dmesg-ramoops-N", where N is the record number in memory. To delete
96a stored record from RAM, simply unlink the respective pstore file. 96a stored record from RAM, simply unlink the respective pstore file.
97
985. Persistent function tracing
99
100Persistent function tracing might be useful for debugging software or hardware
101related hangs. The functions call chain log is stored in a "ftrace-ramoops"
102file. Here is an example of usage:
103
104 # mount -t debugfs debugfs /sys/kernel/debug/
105 # cd /sys/kernel/debug/tracing
106 # echo function > current_tracer
107 # echo 1 > options/func_pstore
108 # reboot -f
109 [...]
110 # mount -t pstore pstore /mnt/
111 # tail /mnt/ftrace-ramoops
112 0 ffffffff8101ea64 ffffffff8101bcda native_apic_mem_read <- disconnect_bsp_APIC+0x6a/0xc0
113 0 ffffffff8101ea44 ffffffff8101bcf6 native_apic_mem_write <- disconnect_bsp_APIC+0x86/0xc0
114 0 ffffffff81020084 ffffffff8101a4b5 hpet_disable <- native_machine_shutdown+0x75/0x90
115 0 ffffffff81005f94 ffffffff8101a4bb iommu_shutdown_noop <- native_machine_shutdown+0x7b/0x90
116 0 ffffffff8101a6a1 ffffffff8101a437 native_machine_emergency_restart <- native_machine_restart+0x37/0x40
117 0 ffffffff811f9876 ffffffff8101a73a acpi_reboot <- native_machine_emergency_restart+0xaa/0x1e0
118 0 ffffffff8101a514 ffffffff8101a772 mach_reboot_fixups <- native_machine_emergency_restart+0xe2/0x1e0
119 0 ffffffff811d9c54 ffffffff8101a7a0 __const_udelay <- native_machine_emergency_restart+0x110/0x1e0
120 0 ffffffff811d9c34 ffffffff811d9c80 __delay <- __const_udelay+0x30/0x40
121 0 ffffffff811d9d14 ffffffff811d9c3f delay_tsc <- __delay+0xf/0x20