summaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2015-05-27 03:39:37 +0200
committerRusty Russell <rusty@rustcorp.com.au>2015-05-28 04:02:07 +0200
commit93c2e105f6bcee231c951ba0e56e84505c4b0483 (patch)
treec81d9957d95194807d6907b1318047af16c71c5a /init
parentrbtree: Implement generic latch_tree (diff)
downloadlinux-93c2e105f6bcee231c951ba0e56e84505c4b0483.tar.xz
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 'init')
0 files changed, 0 insertions, 0 deletions