[IA64] kprobes: kprobe-booster for ia64
authorMasami Hiramatsu <mhiramat@redhat.com>
Fri, 28 Mar 2008 21:27:02 +0000 (14:27 -0700)
committerTony Luck <tony.luck@intel.com>
Wed, 9 Apr 2008 17:36:43 +0000 (10:36 -0700)
commit34e1ceb1881ec895ad9b1b52d073f414f3aa87a9
treeb29c808286d8f1a476e94bdd7e28f17aec7b6b97
parent96ded9dadde397a9e372a650534a9ffbba97194a
[IA64] kprobes: kprobe-booster for ia64

Add kprobe-booster support on ia64.

Kprobe-booster improves the performance of kprobes by eliminating single-step,
where possible.  Currently, kprobe-booster is implemented on x86 and x86-64.
This is an ia64 port.

On ia64, kprobe-booster executes a copied bundle directly, instead of single
stepping.  Bundles which have B or X unit and which may cause an exception
(including break) are not executed directly.  And also, to prevent hitting
break exceptions on the copied bundle, only the hindmost kprobe is executed
directly if several kprobes share a bundle and are placed in different slots.
Note: set_brl_inst() is used for preparing an instruction buffer(it does not
modify any active code), so it does not need any atomic operation.

Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com>
Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Cc: bibo,mao <bibo.mao@intel.com>
Cc: Rusty Lynch <rusty.lynch@intel.com>
Cc: Prasanna S Panchamukhi <prasanna@in.ibm.com>
Cc: Jim Keniston <jkenisto@us.ibm.com>
Cc: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/kernel/kprobes.c
include/asm-ia64/kprobes.h