diff options
author | Christoph Hellwig <hch@lst.de> | 2007-05-16 08:52:19 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2007-05-16 12:00:51 -0400 |
commit | 576fe0bd7e52dce7afb6b9b2450744555b2eb53a (patch) | |
tree | acf2a5f8d7f7906cfa2da9bf53a74d8e3fcd42bb /arch/ia64/kernel/kprobes.c | |
parent | 17028c5c91580036eb41da2fad292965fa3b9a7d (diff) |
[IA64] optimize pagefaults a little
Get rid of the notifier list and call the kprobes code directly
if compiled in. This mirrors the changes that recently went
into powerpc, s390 and sparc64.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/kernel/kprobes.c')
-rw-r--r-- | arch/ia64/kernel/kprobes.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/arch/ia64/kernel/kprobes.c b/arch/ia64/kernel/kprobes.c index be81fe42d80b..5bc46f151344 100644 --- a/arch/ia64/kernel/kprobes.c +++ b/arch/ia64/kernel/kprobes.c | |||
@@ -820,7 +820,7 @@ out: | |||
820 | return 1; | 820 | return 1; |
821 | } | 821 | } |
822 | 822 | ||
823 | static int __kprobes kprobes_fault_handler(struct pt_regs *regs, int trapnr) | 823 | int __kprobes kprobes_fault_handler(struct pt_regs *regs, int trapnr) |
824 | { | 824 | { |
825 | struct kprobe *cur = kprobe_running(); | 825 | struct kprobe *cur = kprobe_running(); |
826 | struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); | 826 | struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); |
@@ -904,13 +904,6 @@ int __kprobes kprobe_exceptions_notify(struct notifier_block *self, | |||
904 | if (post_kprobes_handler(args->regs)) | 904 | if (post_kprobes_handler(args->regs)) |
905 | ret = NOTIFY_STOP; | 905 | ret = NOTIFY_STOP; |
906 | break; | 906 | break; |
907 | case DIE_PAGE_FAULT: | ||
908 | /* kprobe_running() needs smp_processor_id() */ | ||
909 | preempt_disable(); | ||
910 | if (kprobe_running() && | ||
911 | kprobes_fault_handler(args->regs, args->trapnr)) | ||
912 | ret = NOTIFY_STOP; | ||
913 | preempt_enable(); | ||
914 | default: | 907 | default: |
915 | break; | 908 | break; |
916 | } | 909 | } |