[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4603E899.2050104@hitachi.com>
Date: Fri, 23 Mar 2007 23:47:53 +0900
From: Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>
To: Ananth N Mavinakayanahalli <ananth@...ibm.com>,
"Keshavamurthy, Anil S" <anil.s.keshavamurthy@...el.com>,
Prasanna S Panchamukhi <prasanna@...ibm.com>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>,
linux-kernel <linux-kernel@...r.kernel.org>,
SystemTAP <systemtap@...rces.redhat.com>,
Satoshi Oshima <soshima@...hat.com>,
Hideo Aoki <haoki@...hat.com>,
Yumiko Sugita <yumiko.sugita.yf@...achi.com>,
"Frank Ch. Eigler" <fche@...hat.com>
Subject: [RFC][Patch 4/4] kprobes fast unregisteration documentation
This patch adds the description of the fast unregisteration interfaces.
Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>
---
Documentation/kprobes.txt | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
Index: linux-2.6.21-rc4-mm1/Documentation/kprobes.txt
===================================================================
--- linux-2.6.21-rc4-mm1.orig/Documentation/kprobes.txt
+++ linux-2.6.21-rc4-mm1/Documentation/kprobes.txt
@@ -36,6 +36,15 @@ registration function such as register_k
the probe is to be inserted and what handler is to be called when
the probe is hit.
+There are two kinds of unregistration functions. unregister_*probe()
+functions are useful to unregister a few probes. However, it will take
+several seconds to remove all probes when you unregister hundreds of
+probes. In contrast, unregister_*probe_fast() and commit_kprobes() are
+fast to remove hundreds of probes. unregister_*probe_fast() function
+removes probes, but doesn't cleanup it. So, don't forget to call
+commit_kprobes() for cleaning up when you finish to remove all probes
+by using unregister_*probe_fast().
+
The next three subsections explain how the different types of
probes work. They explain certain things that you'll need to
know in order to make the best use of Kprobes -- e.g., the
@@ -295,6 +304,27 @@ void unregister_kretprobe(struct kretpro
Removes the specified probe. The unregister function can be called
at any time after the probe has been registered.
+4.5 unregister_*probe_fast
+
+#include <linux/kprobes.h>
+void unregister_kprobe_fast(struct kprobe *kp);
+void unregister_jprobe_fast(struct jprobe *jp);
+void unregister_kretprobe_fast(struct kretprobe *rp);
+
+Prepares to remove the specified probe, and add it to cleanup list.
+The unregister function can be called at any time after the probe has
+been registered.
+WARNING: you MUST call commit_kprobes() before freeing or reusing
+those probes.
+
+4.6 commit_kprobes
+
+#include <linux/kprobes.h>
+void commit_kprobes(void);
+
+Commits to removing all prepared probes. This function synchronizes
+scheduler for RCU safety, and unregisters all probes on the cleanup list.
+
5. Kprobes Features and Limitations
Kprobes allows multiple probes at the same address. Currently,
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists