diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2008-07-22 19:24:28 -0500 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2008-07-22 19:24:28 +1000 |
commit | 3a642e99babe0617febb6f402e1e063479f489db (patch) | |
tree | 09f7d6c7b0a4e3869d11c739113e5dd5a8ff5a2c /init | |
parent | 2f0f2a334bc38b61a9afca951185cd3844ee709d (diff) | |
download | op-kernel-dev-3a642e99babe0617febb6f402e1e063479f489db.zip op-kernel-dev-3a642e99babe0617febb6f402e1e063479f489db.tar.gz |
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')
0 files changed, 0 insertions, 0 deletions