diff options
author | Christoph Hellwig <hch@lst.de> | 2007-05-12 11:56:11 -0400 |
---|---|---|
committer | Haavard Skinnemoen <hskinnemoen@atmel.com> | 2007-05-13 11:07:46 -0400 |
commit | 9caebec7b8093574fca5a334a1939530872d75e3 (patch) | |
tree | 344415b09f6c08dfc8741420f7410f4e6105b584 /arch/avr32/kernel/kprobes.c | |
parent | 5d1938c83ca826891a02badef7c9ea8ed57e01a2 (diff) |
[AVR32] optimize pagefault path
Avoid the costly notifier list in the pagefault path and call
the kprobes code directly. The same change went into the 2.6.22
cycle for powerpc, 2s390 and sparc64 already.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Diffstat (limited to 'arch/avr32/kernel/kprobes.c')
-rw-r--r-- | arch/avr32/kernel/kprobes.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/arch/avr32/kernel/kprobes.c b/arch/avr32/kernel/kprobes.c index 004c94b6fc1d..4942ee662e0b 100644 --- a/arch/avr32/kernel/kprobes.c +++ b/arch/avr32/kernel/kprobes.c | |||
@@ -179,7 +179,7 @@ static int __kprobes post_kprobe_handler(struct pt_regs *regs) | |||
179 | return 1; | 179 | return 1; |
180 | } | 180 | } |
181 | 181 | ||
182 | static int __kprobes kprobe_fault_handler(struct pt_regs *regs, int trapnr) | 182 | int __kprobes kprobe_fault_handler(struct pt_regs *regs, int trapnr) |
183 | { | 183 | { |
184 | struct kprobe *cur = kprobe_running(); | 184 | struct kprobe *cur = kprobe_running(); |
185 | 185 | ||
@@ -216,11 +216,6 @@ int __kprobes kprobe_exceptions_notify(struct notifier_block *self, | |||
216 | if (post_kprobe_handler(args->regs)) | 216 | if (post_kprobe_handler(args->regs)) |
217 | ret = NOTIFY_STOP; | 217 | ret = NOTIFY_STOP; |
218 | break; | 218 | break; |
219 | case DIE_FAULT: | ||
220 | if (kprobe_running() | ||
221 | && kprobe_fault_handler(args->regs, args->trapnr)) | ||
222 | ret = NOTIFY_STOP; | ||
223 | break; | ||
224 | default: | 219 | default: |
225 | break; | 220 | break; |
226 | } | 221 | } |