summaryrefslogtreecommitdiffstats
path: root/kernel/debug
diff options
context:
space:
mode:
authorKevin Cernekee <cernekee@gmail.com>2012-01-13 09:32:14 +1030
committerRusty Russell <rusty@rustcorp.com.au>2012-01-13 09:32:14 +1030
commit48fd11880b5ef04270be8a87d9a9a9ee2fdae338 (patch)
tree1dc62486665f1d28e74a0e12fec5f01beb233313 /kernel/debug
parent70b1e9161e903a9e1682aca3a832ed29ef876a4d (diff)
module: Fix performance regression on modules with large symbol tables
Looking at /proc/kallsyms, one starts to ponder whether all of the extra strtab-related complexity in module.c is worth the memory savings. Instead of making the add_kallsyms() loop even more complex, I tried the other route of deleting the strmap logic and naively copying each string into core_strtab with no consideration for consolidating duplicates. Performance on an "already exists" insmod of nvidia.ko (runs add_kallsyms() but does not actually initialize the module): Original scheme: 1.230s With naive copying: 0.058s Extra space used: 35k (of a 408k module). Signed-off-by: Kevin Cernekee <cernekee@gmail.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> LKML-Reference: <73defb5e4bca04a6431392cc341112b1@localhost>
Diffstat (limited to 'kernel/debug')
0 files changed, 0 insertions, 0 deletions