diff options
author | Christoph Hellwig <hch@lst.de> | 2007-05-16 16:52:19 +0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2007-05-16 20:00:51 +0400 |
commit | 576fe0bd7e52dce7afb6b9b2450744555b2eb53a (patch) | |
tree | acf2a5f8d7f7906cfa2da9bf53a74d8e3fcd42bb /arch/ia64/kernel/kprobes.c | |
parent | 17028c5c91580036eb41da2fad292965fa3b9a7d (diff) | |
download | linux-576fe0bd7e52dce7afb6b9b2450744555b2eb53a.tar.xz |
[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: 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; } |