Files
ack-tegra/include/linux
Masami Hiramatsu afd66255b9 kprobes: Introduce kprobes jump optimization
Introduce kprobes jump optimization arch-independent parts.
Kprobes uses breakpoint instruction for interrupting execution
flow, on some architectures, it can be replaced by a jump
instruction and interruption emulation code. This gains kprobs'
performance drastically.

To enable this feature, set CONFIG_OPTPROBES=y (default y if the
arch supports OPTPROBE).

Changes in v9:
 - Fix a bug to optimize probe when enabling.
 - Check nearby probes can be optimize/unoptimize when disarming/arming
   kprobes, instead of registering/unregistering. This will help
   kprobe-tracer because most of probes on it are usually disabled.

Changes in v6:
 - Cleanup coding style for readability.
 - Add comments around get/put_online_cpus().

Changes in v5:
 - Use get_online_cpus()/put_online_cpus() for avoiding text_mutex
   deadlock.

Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com>
Cc: systemtap <systemtap@sources.redhat.com>
Cc: DLE <dle-develop@lists.sourceforge.net>
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Cc: Jim Keniston <jkenisto@us.ibm.com>
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Anders Kaseorg <andersk@ksplice.com>
Cc: Tim Abbott <tabbott@ksplice.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Jason Baron <jbaron@redhat.com>
Cc: Mathieu Desnoyers <compudj@krystal.dyndns.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
LKML-Reference: <20100225133407.6725.81992.stgit@localhost6.localdomain6>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2010-02-25 17:49:24 +01:00
..
2010-01-13 09:04:53 +00:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-12-16 07:20:13 -08:00
2010-01-11 14:29:20 +01:00
2009-11-10 12:31:43 +01:00
2009-11-08 20:57:03 -08:00
2009-12-06 21:10:56 +01:00
2009-12-10 23:52:01 +00:00
2009-11-04 09:50:58 -08:00
2009-12-15 08:53:33 -08:00
2009-11-04 09:50:58 -08:00
2009-12-10 15:02:53 +01:00
2009-12-23 13:33:54 +01:00
2009-11-04 09:50:58 -08:00
2010-01-14 09:05:26 -05:00
2010-02-04 09:36:19 +01:00
2009-11-04 09:50:58 -08:00
2010-01-11 14:32:44 +01:00
2009-12-03 11:58:47 +00:00
2009-11-05 14:08:03 +01:00
2009-12-14 23:55:34 +01:00
2009-12-14 21:17:29 +01:00
2009-12-21 11:32:27 -05:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-12-25 17:30:22 -08:00
2009-12-02 23:38:13 -08:00
2009-11-04 09:50:58 -08:00
2009-12-16 06:56:12 -08:00
2009-12-03 09:32:17 +02:00
2009-12-09 17:14:38 +11:00
2009-12-15 08:53:36 -08:00
2010-01-16 12:29:32 +01:00
2009-12-15 08:53:20 -08:00
2009-12-12 13:08:15 +01:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-28 15:05:05 -05:00
2009-12-09 12:12:44 +02:00
2010-01-04 15:41:47 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-12-15 08:53:25 -08:00
2009-12-03 11:43:23 +00:00
2009-12-02 09:55:33 +01:00
2009-11-10 22:26:29 -08:00
2009-10-30 15:06:37 -07:00
2009-12-15 08:53:20 -08:00
2009-11-04 09:50:58 -08:00
2009-11-30 12:02:53 +09:00
2009-12-02 19:57:15 -08:00
2009-11-18 14:52:25 +01:00
2009-12-16 22:32:29 -05:00
2010-01-14 22:38:09 -05:00
2009-12-15 08:53:16 -08:00
2009-12-25 17:30:22 -08:00
2009-11-13 20:46:24 +01:00
2010-01-16 12:15:38 -08:00
2009-11-10 20:54:38 -08:00
2009-12-16 12:16:49 -05:00