]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit4041085f267c3665499f3e0437ff2b7e55fcf970
treec95d272ff41b7873cc33feef3686ede3f020d4cd
parentb435471763161ef9f53870e882cf6ff4bc87f705
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