diff options
author | Steven Rostedt <srostedt@redhat.com> | 2008-04-19 13:19:55 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-19 13:19:55 -0400 |
commit | 5deb45e39b946901ae028ccd3a1d0b35fa387475 (patch) | |
tree | a29b8d4cffbd1183158d8d77b869181eaa934ff8 /arch/x86/kernel/traps_32.c | |
parent | 4bd01600b214275a80a69b44393d7e81d43c2faa (diff) |
ftrace: add notrace annotations for NMI routines
This annotates NMI functions with notrace. Some tracers may be able
to live with this, but some cannot. The safest is to turn it off,
it's not particularly interesting anyway.
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel/traps_32.c')
-rw-r--r-- | arch/x86/kernel/traps_32.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/x86/kernel/traps_32.c b/arch/x86/kernel/traps_32.c index 65791ca2824a..dc4273010f2a 100644 --- a/arch/x86/kernel/traps_32.c +++ b/arch/x86/kernel/traps_32.c | |||
@@ -681,7 +681,7 @@ gp_in_kernel: | |||
681 | } | 681 | } |
682 | } | 682 | } |
683 | 683 | ||
684 | static __kprobes void | 684 | static notrace __kprobes void |
685 | mem_parity_error(unsigned char reason, struct pt_regs *regs) | 685 | mem_parity_error(unsigned char reason, struct pt_regs *regs) |
686 | { | 686 | { |
687 | printk(KERN_EMERG | 687 | printk(KERN_EMERG |
@@ -707,7 +707,7 @@ mem_parity_error(unsigned char reason, struct pt_regs *regs) | |||
707 | clear_mem_error(reason); | 707 | clear_mem_error(reason); |
708 | } | 708 | } |
709 | 709 | ||
710 | static __kprobes void | 710 | static notrace __kprobes void |
711 | io_check_error(unsigned char reason, struct pt_regs *regs) | 711 | io_check_error(unsigned char reason, struct pt_regs *regs) |
712 | { | 712 | { |
713 | unsigned long i; | 713 | unsigned long i; |
@@ -727,7 +727,7 @@ io_check_error(unsigned char reason, struct pt_regs *regs) | |||
727 | outb(reason, 0x61); | 727 | outb(reason, 0x61); |
728 | } | 728 | } |
729 | 729 | ||
730 | static __kprobes void | 730 | static notrace __kprobes void |
731 | unknown_nmi_error(unsigned char reason, struct pt_regs *regs) | 731 | unknown_nmi_error(unsigned char reason, struct pt_regs *regs) |
732 | { | 732 | { |
733 | if (notify_die(DIE_NMIUNKNOWN, "nmi", regs, reason, 2, SIGINT) == NOTIFY_STOP) | 733 | if (notify_die(DIE_NMIUNKNOWN, "nmi", regs, reason, 2, SIGINT) == NOTIFY_STOP) |
@@ -755,7 +755,7 @@ unknown_nmi_error(unsigned char reason, struct pt_regs *regs) | |||
755 | 755 | ||
756 | static DEFINE_SPINLOCK(nmi_print_lock); | 756 | static DEFINE_SPINLOCK(nmi_print_lock); |
757 | 757 | ||
758 | void __kprobes die_nmi(struct pt_regs *regs, const char *msg) | 758 | void notrace __kprobes die_nmi(struct pt_regs *regs, const char *msg) |
759 | { | 759 | { |
760 | if (notify_die(DIE_NMIWATCHDOG, msg, regs, 0, 2, SIGINT) == NOTIFY_STOP) | 760 | if (notify_die(DIE_NMIWATCHDOG, msg, regs, 0, 2, SIGINT) == NOTIFY_STOP) |
761 | return; | 761 | return; |
@@ -786,7 +786,7 @@ void __kprobes die_nmi(struct pt_regs *regs, const char *msg) | |||
786 | do_exit(SIGSEGV); | 786 | do_exit(SIGSEGV); |
787 | } | 787 | } |
788 | 788 | ||
789 | static __kprobes void default_do_nmi(struct pt_regs *regs) | 789 | static notrace __kprobes void default_do_nmi(struct pt_regs *regs) |
790 | { | 790 | { |
791 | unsigned char reason = 0; | 791 | unsigned char reason = 0; |
792 | 792 | ||
@@ -828,7 +828,7 @@ static __kprobes void default_do_nmi(struct pt_regs *regs) | |||
828 | 828 | ||
829 | static int ignore_nmis; | 829 | static int ignore_nmis; |
830 | 830 | ||
831 | __kprobes void do_nmi(struct pt_regs *regs, long error_code) | 831 | notrace __kprobes void do_nmi(struct pt_regs *regs, long error_code) |
832 | { | 832 | { |
833 | int cpu; | 833 | int cpu; |
834 | 834 | ||