On Fri, Mar 23, 2007 at 11:43:48PM +0900, Masami Hiramatsu wrote: > I'd like to suggest introducing following two interfaces for this issue. > The first interface is unregister_*probe_fast(). This removes > breakpoint instruction from kernel code and adds specified probe > to the unregistering list. > The second interface is commit_kprobes(). This waits the rcu > synchronization and clean up each probe on the unregistering list. > This patch also adds a list_head member to the kprobe data structure > for linking to the unregistering list. > > If using these interfaces, the probe handlers of unregistering probes > might be called after unregister_*probe_fast() is called. So, you MUST > call commit_kprobes() after calling unregisnter_*probe_fast() for all > probes.
Speeding up the unregistration is a very good idea, but this interface is rather horrible. It's almost a receipe for users to get it wrong. Instead just changes the register and unregister functions to take a NULL-terminated array of probes that get registered and unregisters at the same time (and renames them from *probe* to *probes*, please) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/