aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/kernel
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2007-05-16 14:52:19 +0200
committerTony Luck <tony.luck@intel.com>2007-05-16 09:00:51 -0700
commit576fe0bd7e52dce7afb6b9b2450744555b2eb53a (patch)
treeacf2a5f8d7f7906cfa2da9bf53a74d8e3fcd42bb /arch/ia64/kernel
parent17028c5c91580036eb41da2fad292965fa3b9a7d (diff)
downloadkernel_samsung_smdk4412-576fe0bd7e52dce7afb6b9b2450744555b2eb53a.zip
kernel_samsung_smdk4412-576fe0bd7e52dce7afb6b9b2450744555b2eb53a.tar.gz
kernel_samsung_smdk4412-576fe0bd7e52dce7afb6b9b2450744555b2eb53a.tar.bz2
[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')
-rw-r--r--arch/ia64/kernel/kprobes.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/arch/ia64/kernel/kprobes.c b/arch/ia64/kernel/kprobes.c
index be81fe4..5bc46f1 100644
--- a/arch/ia64/kernel/kprobes.c
+++ b/arch/ia64/kernel/kprobes.c
@@ -820,7 +820,7 @@ out:
return 1;
}
-static int __kprobes kprobes_fault_handler(struct pt_regs *regs, int trapnr)
+int __kprobes kprobes_fault_handler(struct pt_regs *regs, int trapnr)
{
struct kprobe *cur = kprobe_running();
struct kprobe_ctlblk *kcb = get_kprobe_ctlblk();
@@ -904,13 +904,6 @@ int __kprobes kprobe_exceptions_notify(struct notifier_block *self,
if (post_kprobes_handler(args->regs))
ret = NOTIFY_STOP;
break;
- case DIE_PAGE_FAULT:
- /* kprobe_running() needs smp_processor_id() */
- preempt_disable();
- if (kprobe_running() &&
- kprobes_fault_handler(args->regs, args->trapnr))
- ret = NOTIFY_STOP;
- preempt_enable();
default:
break;
}