aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/kprobes.h
diff options
context:
space:
mode:
authorMasami Hiramatsu <mhiramat@redhat.com>2008-04-28 05:14:28 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-04-28 11:58:32 -0400
commit9861668f747895608cea425f8457989d8dd2edf2 (patch)
treedb5dad352826407afb549a8cfa44d4c66823af15 /include/linux/kprobes.h
parent99602572812442d47403d85f376ad51298dd82a6 (diff)
kprobes: add (un)register_kprobes for batch registration
Introduce unregister_/register_kprobes() for kprobe batch registration. This can reduce waiting time for synchronized_sched() when a lot of probes have to be unregistered at once. Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com> Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com> Cc: Jim Keniston <jkenisto@us.ibm.com> Cc: Prasanna S Panchamukhi <prasanna@in.ibm.com> Cc: Shaohua Li <shaohua.li@intel.com> Cc: David Miller <davem@davemloft.net> Cc: "Frank Ch. Eigler" <fche@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/kprobes.h')
-rw-r--r--include/linux/kprobes.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/kprobes.h b/include/linux/kprobes.h
index cd507ab4fed7..2ba7df645a84 100644
--- a/include/linux/kprobes.h
+++ b/include/linux/kprobes.h
@@ -234,6 +234,8 @@ static inline struct kprobe_ctlblk *get_kprobe_ctlblk(void)
234 234
235int register_kprobe(struct kprobe *p); 235int register_kprobe(struct kprobe *p);
236void unregister_kprobe(struct kprobe *p); 236void unregister_kprobe(struct kprobe *p);
237int register_kprobes(struct kprobe **kps, int num);
238void unregister_kprobes(struct kprobe **kps, int num);
237int setjmp_pre_handler(struct kprobe *, struct pt_regs *); 239int setjmp_pre_handler(struct kprobe *, struct pt_regs *);
238int longjmp_break_handler(struct kprobe *, struct pt_regs *); 240int longjmp_break_handler(struct kprobe *, struct pt_regs *);
239int register_jprobe(struct jprobe *p); 241int register_jprobe(struct jprobe *p);
@@ -261,9 +263,16 @@ static inline int register_kprobe(struct kprobe *p)
261{ 263{
262 return -ENOSYS; 264 return -ENOSYS;
263} 265}
266static inline int register_kprobes(struct kprobe **kps, int num)
267{
268 return -ENOSYS;
269}
264static inline void unregister_kprobe(struct kprobe *p) 270static inline void unregister_kprobe(struct kprobe *p)
265{ 271{
266} 272}
273static inline void unregister_kprobes(struct kprobe **kps, int num)
274{
275}
267static inline int register_jprobe(struct jprobe *p) 276static inline int register_jprobe(struct jprobe *p)
268{ 277{
269 return -ENOSYS; 278 return -ENOSYS;