|
@@ -274,6 +274,22 @@ static struct sysrq_key_op sysrq_showstate_blocked_op = {
|
|
|
.enable_mask = SYSRQ_ENABLE_DUMP,
|
|
|
};
|
|
|
|
|
|
+#ifdef CONFIG_TRACING
|
|
|
+#include <linux/ftrace.h>
|
|
|
+
|
|
|
+static void sysrq_ftrace_dump(int key, struct tty_struct *tty)
|
|
|
+{
|
|
|
+ ftrace_dump();
|
|
|
+}
|
|
|
+static struct sysrq_key_op sysrq_ftrace_dump_op = {
|
|
|
+ .handler = sysrq_ftrace_dump,
|
|
|
+ .help_msg = "dumpZ-ftrace-buffer",
|
|
|
+ .action_msg = "Dump ftrace buffer",
|
|
|
+ .enable_mask = SYSRQ_ENABLE_DUMP,
|
|
|
+};
|
|
|
+#else
|
|
|
+#define sysrq_ftrace_dump_op (*(struct sysrq_key_op *)0)
|
|
|
+#endif
|
|
|
|
|
|
static void sysrq_handle_showmem(int key, struct tty_struct *tty)
|
|
|
{
|
|
@@ -406,7 +422,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = {
|
|
|
NULL, /* x */
|
|
|
/* y: May be registered on sparc64 for global register dump */
|
|
|
NULL, /* y */
|
|
|
- NULL /* z */
|
|
|
+ &sysrq_ftrace_dump_op, /* z */
|
|
|
};
|
|
|
|
|
|
/* key2index calculation, -1 on invalid index */
|