ftrace: Use bsearch to find record ip
authorSteven Rostedt <srostedt@redhat.com>
Sat, 17 Dec 2011 00:27:42 +0000 (19:27 -0500)
committerSteven Rostedt <rostedt@goodmis.org>
Wed, 21 Dec 2011 12:20:50 +0000 (07:20 -0500)
commit5855fead9cc358adebd6bdeec202d040c623ae38
treec95d272ff41b7873cc33feef3686ede3f020d4cd
parent68950619f8c82e468d8976130462617abea605a8
ftrace: Use bsearch to find record ip

Now that each set of pages in the function list are sorted by
ip, we can use bsearch to find a record within each set of pages.
This speeds up the ftrace_location() function by magnitudes.

For archs (like x86) that need to add a breakpoint at every function
that will be converted from a nop to a callback and vice versa,
the breakpoint callback needs to know if the breakpoint was for
ftrace or not. It requires finding the breakpoint ip within the
records. Doing a linear search is extremely inefficient. It is
a must to be able to do a fast binary search to find these locations.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/ftrace.c