diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2008-07-23 02:24:28 +0200 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2008-07-22 11:24:28 +0200 |
commit | 3a642e99babe0617febb6f402e1e063479f489db (patch) | |
tree | 09f7d6c7b0a4e3869d11c739113e5dd5a8ff5a2c /drivers/xen/xencomm.c | |
parent | module: turn longs into ints for module sizes (diff) | |
download | linux-3a642e99babe0617febb6f402e1e063479f489db.tar.xz 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 '')
0 files changed, 0 insertions, 0 deletions