kernel-ark/arch/ia64/kernel
Masami Hiramatsu 34e1ceb188 [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>
2008-04-09 10:36:43 -07:00
..
cpufreq
.gitignore [IA64] Add gate.lds to list of files ignored by Git 2007-11-06 15:39:45 -08:00
acpi-ext.c
acpi-processor.c ACPI: Set _PSD ACPI_PDC_SMP_T_SWCOORD 2008-02-02 02:22:43 -05:00
acpi.c Merge branches 'release' and 'fluff' into release 2008-02-07 03:38:22 -05:00
asm-offsets.c [IA64] fix getpid and set_tid_address fast system calls for pid namespaces 2008-04-09 10:33:36 -07:00
audit.c
brl_emu.c
crash_dump.c
crash.c [IA64] kdump: crash.c coding style fix 2008-04-09 09:53:27 -07:00
cyclone.c
efi_stub.S
efi.c [IA64] update efi region debugging to use MB, GB and TB as well as KB 2008-03-06 09:34:11 -08:00
entry.h
entry.S [IA64] Wire up timerfd_{create,settime,gettime} syscalls 2008-02-08 12:00:32 -08:00
err_inject.c
esi_stub.S
esi.c
fsys.S [IA64] fix getpid and set_tid_address fast system calls for pid namespaces 2008-04-09 10:33:36 -07:00
fsyscall_gtod_data.h [IA64] generalize attribute of fsyscall_gtod_data 2008-02-04 15:36:36 -08:00
gate-data.S
gate.lds.S [IA64] increase .data.patch offset 2007-12-07 14:28:02 -08:00
gate.S
head.S [IA64] Remove assembler warnings on head.S 2007-12-19 11:15:12 -08:00
ia64_ksyms.c [IA64] Export three symbols for module use 2008-02-04 15:46:23 -08:00
init_task.c
iosapic.c [IA64] remove remaining __FUNCTION__ occurrences 2008-03-06 09:19:27 -08:00
irq_ia64.c [IA64] remove remaining __FUNCTION__ occurrences 2008-03-06 09:19:27 -08:00
irq_lsapic.c
irq.c [IA64] Clean up /proc/interrupts output 2007-11-06 15:40:52 -08:00
ivt.S
jprobes.S
kprobes.c [IA64] kprobes: kprobe-booster for ia64 2008-04-09 10:36:43 -07:00
machine_kexec.c vmcoreinfo: fix the configuration dependencies 2008-02-07 08:42:25 -08:00
machvec.c
Makefile
mca_asm.S [IA64] mca style cleanup 2008-02-04 15:42:06 -08:00
mca_drv_asm.S [IA64] mca style cleanup 2008-02-04 15:42:06 -08:00
mca_drv.c [IA64] mca style cleanup 2008-02-04 15:42:06 -08:00
mca_drv.h [IA64] mca style cleanup 2008-02-04 15:42:06 -08:00
mca.c [IA64] kdump: add kdump_on_fatal_mca 2008-04-09 09:53:00 -07:00
minstate.h
module.c [IA64] remove remaining __FUNCTION__ occurrences 2008-03-06 09:19:27 -08:00
msi_ia64.c [IA64] Fix irq migration in multiple vector domain 2008-03-04 14:16:20 -08:00
numa.c
pal.S
palinfo.c [IA64] Update printing of feature set bits 2007-11-09 13:05:30 -08:00
patch.c [IA64] Clean-up McKinley Errata message 2007-11-06 15:40:07 -08:00
perfmon_default_smpl.c [IA64] remove remaining __FUNCTION__ occurrences 2008-03-06 09:19:27 -08:00
perfmon_generic.h
perfmon_itanium.h
perfmon_mckinley.h
perfmon_montecito.h
perfmon.c [IA64] use goto to jump out do/while_each_thread 2008-04-09 10:17:03 -07:00
process.c [IA64] Simplify cpu_idle_wait 2008-02-08 12:01:40 -08:00
ptrace.c [IA64] remove remaining __FUNCTION__ occurrences 2008-03-06 09:19:27 -08:00
relocate_kernel.S
sal.c [IA64] workaround tiger ia64_sal_get_physical_id_info hang 2008-03-04 14:26:50 -08:00
salinfo.c
semaphore.c
setup.c [IA64] remove remaining __FUNCTION__ occurrences 2008-03-06 09:19:27 -08:00
sigframe.h
signal.c [IA64] signal(ia64): add a signal stack overflow check 2008-03-04 14:10:59 -08:00
smp.c
smpboot.c [IA64] Fix unlock ordering in smp_callin 2008-04-09 10:13:13 -07:00
sys_ia64.c
time.c time: fix typo in comments 2008-02-08 09:22:29 -08:00
topology.c Kobject: convert arch/* from kobject_unregister() to kobject_put() 2008-01-24 20:40:39 -08:00
traps.c [IA64] honor notify_die() returning NOTIFY_STOP 2008-02-05 08:26:44 -08:00
unaligned.c [IA64] remove remaining __FUNCTION__ occurrences 2008-03-06 09:19:27 -08:00
uncached.c [IA64] make flush_tlb_kernel_range() an inline function 2007-12-19 12:30:30 -08:00
unwind_decoder.c
unwind_i.h
unwind.c [IA64] remove remaining __FUNCTION__ occurrences 2008-03-06 09:19:27 -08:00
vmlinux.lds.S all archs: consolidate init and exit sections in vmlinux.lds.h 2008-01-28 23:21:17 +01:00