diff options
author | 2008-07-22 19:24:28 -0500 | |
---|---|---|
committer | 2008-07-22 19:24:28 +1000 | |
commit | 3a642e99babe0617febb6f402e1e063479f489db (patch) | |
tree | 09f7d6c7b0a4e3869d11c739113e5dd5a8ff5a2c /init/Kconfig | |
parent | module: turn longs into ints for module sizes (diff) | |
download | linux-3a642e99babe0617febb6f402e1e063479f489db.tar.gz linux-3a642e99babe0617febb6f402e1e063479f489db.tar.bz2 linux-3a642e99babe0617febb6f402e1e063479f489db.zip |
modules: Take a shortcut for checking if an address is in a module
This patch keeps track of the boundaries of module allocation, in
order to speed up module_text_address().
Inspired by Arjan's version, which required arch-specific defines:
Various pieces of the kernel (lockdep, latencytop, etc) tend
to store backtraces, sometimes at a relatively high
frequency. In itself this isn't a big performance deal (after
all you're using diagnostics features), but there have been
some complaints from people who have over 100 modules loaded
that this is a tad too slow.
This is due to the new backtracer code which looks at every
slot on the stack to see if it's a kernel/module text address,
so that's 1024 slots. 1024 times 100 modules... that's a lot
of list walking.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'init/Kconfig')
0 files changed, 0 insertions, 0 deletions