diff options
author | Peter Zijlstra <peterz@infradead.org> | 2015-05-27 11:09:37 +0930 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2015-05-28 11:32:07 +0930 |
commit | 93c2e105f6bcee231c951ba0e56e84505c4b0483 (patch) | |
tree | c81d9957d95194807d6907b1318047af16c71c5a /kernel/uid16.c | |
parent | ade3f510f93a5613b672febe88eff8ea7f1c63b7 (diff) | |
download | linux-93c2e105f6bcee231c951ba0e56e84505c4b0483.tar.gz linux-93c2e105f6bcee231c951ba0e56e84505c4b0483.tar.bz2 linux-93c2e105f6bcee231c951ba0e56e84505c4b0483.zip |
module: Optimize __module_address() using a latched RB-tree
Currently __module_address() is using a linear search through all
modules in order to find the module corresponding to the provided
address. With a lot of modules this can take a lot of time.
One of the users of this is kernel_text_address() which is employed
in many stack unwinders; which in turn are used by perf-callchain and
ftrace (possibly from NMI context).
So by optimizing __module_address() we optimize many stack unwinders
which are used by both perf and tracing in performance sensitive code.
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'kernel/uid16.c')
0 files changed, 0 insertions, 0 deletions