diff options
| author | 2008-12-13 21:55:51 +1030 | |
|---|---|---|
| committer | 2008-12-13 21:55:51 +1030 | |
| commit | 968ea6d80e395cf11a51143cfa1b9a14ada676df (patch) | |
| tree | dc2acec8c9bdced33afe1e273ee5e0b0b93d2703 /drivers/char/sysrq.c | |
| parent | cpumask: Use all NR_CPUS bits unless CONFIG_CPUMASK_OFFSTACK (diff) | |
| parent | Merge branches 'irq/sparseirq', 'x86/quirks' and 'x86/reboot' into cpus4096 (diff) | |
| download | wireguard-linux-968ea6d80e395cf11a51143cfa1b9a14ada676df.tar.xz wireguard-linux-968ea6d80e395cf11a51143cfa1b9a14ada676df.zip | |
Merge ../linux-2.6-x86
Conflicts:
arch/x86/kernel/io_apic.c
kernel/sched.c
kernel/sched_stats.h
Diffstat (limited to 'drivers/char/sysrq.c')
| -rw-r--r-- | drivers/char/sysrq.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/drivers/char/sysrq.c b/drivers/char/sysrq.c index ce0d9da52a8a..94966edfb44d 100644 --- a/drivers/char/sysrq.c +++ b/drivers/char/sysrq.c @@ -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 */ |
