mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
pstore/ftrace: Convert to its own enable/disable debugfs knob
With this patch we no longer reuse function tracer infrastructure, now we register our own tracer back-end via a debugfs knob. It's a bit more code, but that is the only downside. On the bright side we have: - Ability to make persistent_ram module removable (when needed, we can move ftrace_ops struct into a module). Note that persistent_ram is still not removable for other reasons, but with this patch it's just one thing less to worry about; - Pstore part is more isolated from the generic function tracer. We tried it already by registering our own tracer in available_tracers, but that way we're loosing ability to see the traces while we record them to pstore. This solution is somewhere in the middle: we only register "internal ftracer" back-end, but not the "front-end"; - When there is only pstore tracing enabled, the kernel will only write to the pstore buffer, omitting function tracer buffer (which, of course, still can be enabled via 'echo function > current_tracer'). Suggested-by: Steven Rostedt <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
This commit is contained in:
parent
b4a871bce6
commit
65f8c95e46
7 changed files with 105 additions and 26 deletions
|
|
@ -102,9 +102,7 @@ related hangs. The functions call chain log is stored in a "ftrace-ramoops"
|
|||
file. Here is an example of usage:
|
||||
|
||||
# mount -t debugfs debugfs /sys/kernel/debug/
|
||||
# cd /sys/kernel/debug/tracing
|
||||
# echo function > current_tracer
|
||||
# echo 1 > options/func_pstore
|
||||
# echo 1 > /sys/kernel/debug/pstore/record_ftrace
|
||||
# reboot -f
|
||||
[...]
|
||||
# mount -t pstore pstore /mnt/
|
||||
|
|
|
|||
Loading…
Reference in a new issue